Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h06/mnt/47169/domains/themehybrid.com/html/community/bb-settings.php on line 186

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h06/mnt/47169/domains/themehybrid.com/html/community/bb-includes/backpress/functions.wp-object-cache.php on line 108

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h06/mnt/47169/domains/themehybrid.com/html/community/bb-includes/backpress/pomo/mo.php on line 171

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h06/mnt/47169/domains/themehybrid.com/html/community/bb-includes/functions.bb-l10n.php on line 484

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h06/mnt/47169/domains/themehybrid.com/html/community/bb-includes/backpress/class.wp-taxonomy.php on line 581
Hybrid: Version 0.5 « Community

Welcome, guest!

Feel free to read the blog, browse for themes, or join the club.

The community forums are currently being phased out. At the end of February or early March 2012, you will no longer be able to post here. This is because the entire site is being restructured. Please use the main forums for discussions.

Hybrid: Version 0.5

  1. Though version 0.5 of the Hybrid theme is still a long way off, it's always helpful to start thinking about the future.

    My current goals are mostly about keeping the code clean and squashing any bugs found. Basically, I just want to continue fine-tuning the theme.

    There are goals to add new features, but Hybrid is nearly everything I can possibly dream of. There are a few things I'd like to add:

    404 template widget area

    Since users can't directly edit the 404.php file like we can do with posts and pages, I think it would be useful to make this template widgetized. This way, you'd have full control over what's displayed when a reader comes to a 404 page on your site.

    Before post and after post hooks

    I actually would've implemented this long ago if WordPress 2.7 didn't allow template overwriting. Basically, I'd like to completely strip out the post title, byline, and post metadata sections from each post. Then, move them into separate functions.

    By doing this, you could customize what you want to show without having to copy every single template to your child theme and overriding the parent. You could do it on more of a global scale. For example, you could move the link to comments to the byline instead of the post metadata section (something you can't currently do w/o template overriding).

    I'm still riding the fence on this one though. It makes it harder to customize, but easier to implement across the entire site.

    Deprecate/remove the quick-post.php page template

    I think this is a really cool page template, but it doesn't serve every design. Actually, I don't know of a single person using this feature.

    I believe that making it available for download but taking it out of the core theme would be best. All of the other page templates serve nearly any child theme, but this one doesn't. It's too specific.

    JavaScript and CSS loader

    The ability to add custom JavaScript and CSS files on a per-page or per-post basis would be something beneficial. I don't really want to add these to the Hybrid Settings meta box, but I'd like to build in the functionality.

    Basically, one could type in a URL to a file and the theme would automatically load it.

    Switch searchform.php and hybrid_search_form()

    This is more of a developer thing. It wouldn't really affect anyone. WP 2.7 added the template tag get_search_form() which automatically calls up searform.php (same as get_header() and get_footer()).

    Ultimately, it would produce the same results. The new way would be more WP-friendly though.

    Rewrite the comments class

    Currently, each comment gets a specific class depending on who posted a comment. I'm mixing a bit of my own classes with WP's classes. I have a problem with how it's done in WP though. They have odd and even backwards for one. ;)

    I want to switch it up a bit to include these classes:

    .entry-author /* The person that wrote the post */
    
    .author /* Any blog author */
    
    .contributor /* Any blog contributor */
    
    .editor /* Any blog editor */
    
    .administrator /* Any blog administrator */
    
    .subscriber /* Any blog subscriber */

    These classes exist in some form or another already. I'd like to tweak it a bit. The biggest change for many of you using post-author-commenter classes would have to account for is the switch from author to entry-author.

    Any ideas?

    As always, I'm open to hearing suggestions for future enhancements.

    Remember, that Hybrid is simply a foundation. Anything that goes into it should be something that would benefit all blogs/sites using it. It should be solely focused on content and allowing you to do countless things through child themes.

    For example, I often hear that people want video features, a scrolling features gallery, and things like that. These things have no place in a theme framework. These should go into child themes, not Hybrid itself. You are welcome to open new threads to discuss those types of features for new child themes.

  2. Hooks
    I don't know if this is covered in you comment above about hooks, but I would love to see hooks that make it possible to put things into the content (I can of course just move the hooks) My example is the use of postviews and ratings (both Lester Chan plugins). The first I put right after the meta in the top and the later I put right after the categories and tags in the single.php. Here it would be nice to be able to use the hooks.

    I feel like you've thought more broad in your use of hooks, where you want to add entire sections.

    Comments
    I would like to see pingbacks seperated from comments. That way one could have an even flow without being distracted (read annoyed).

    Comment class
    It would be cool to have the post authors comments or all site authors comments highlighted in some way.

  3. @Thomas

    Those hooks actually already exist in WordPress. Nothing more can be done within the theme itself there.

  4. I would like to see pingbacks seperated from comments. That way one could have an even flow without being distracted (read annoyed).

    I personally don't like the separation, but a lot of people do.

    I had originally built an option into the admin to separate comments, trackbacks, and pingbacks. Actually, if you look into /library/admin/theme-settings-admin.php, you can still see this:

    'separate_comments' => 'false',

    I still kind of want to wait and get a better grasp of comments though because WP 2.7's nested comments make things much tougher in some ways. In others, they make things easier.

    I don't know if I'll be able to come up with a solution by 0.5, but it's definitely in the pipeline. Since the idea is up for discussion — I'm thinking about adding in these options at some point:

    Group comments, pingbacks, and trackbacks together?
    Separate all pings (trackbacks/pingbacks) from comments into one group?
    Separate pingbacks, trackbacks, and comments each into individual groups?

    It's not that it's hard to implement these options into a theme. What's hard is implementing them in a way that doesn't break everyone's child themes. :)

  5. Support for canonical URLs

    Google, Yahoo, and MSN all just partnered up and agreed to support canonical URLs. Basically, this is a way to deal with duplicate content issues:

    <link rel="canonical" href="http://justintadlock.com" />

    Of, course, WordPress already does a great job in handling redirects and adding the appropriate URL, but this is going to be huge in helping out with some duplicate content issues.

    Sources:
    http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html
    http://ysearchblog.com/2009/02/12/fighting-duplication-adding-more-arrows-to-your-quiver
    http://blogs.msdn.com/webmaster/archive/2009/02/12/partnering-to-help-solve-duplicate-content-issues.aspx

  6. Template files for widget areas?

    I've been trying to think of ways to make life easier for folks that like to hardcode instead of using widgets. As most of you are aware by now, WordPress 2.7 gives you the ability to overwrite template files in your child themes.

    Some themes just use multiple sidebars files. For example, it would look like this for Hybrid:

    sidebar-primary.php
    sidebar-secondary.php
    sidebar-subsidiary.php

    Of course, you know I hate the word "sidebar" when talking about this theme. I know "sidebar" is just an arbitrary term as far as coding goes, but not all people understand this. I believe this would just cause more confusion.

    I could also simply do this in the root theme directory:

    primary.php
    secondary.php
    subsidiary.php

    But, I kind of want to group these together somehow. I want them to be easily recognizable from the other template files. Aside is an HTML 5 term that fits pretty well.

    Definition:

    The <aside> tag defines some content aside from the article it is placed in. The aside content should be related to the article's content.

    The naming scheme could be:

    aside-primary.php
    aside-secondary.php
    aside-subsidiary.php

    What do you think?

    This would only really matter to people that are hardcoding or need to override the defaults. It wouldn't change anything about how the theme works. The Thematic theme also uses this term (not for the file names but for the terminology). I don't know for sure, but I suspect it's for the same reason.

    Mostly this is about coming to some sort of standardization.

  7. I'm thinking this naming scheme might work:

    aside-primary.php
    aside-secondary.php
    aside-subsidiary.php
    
    utility-before-content.php
    utility-after-content.php
    utility-after-single.php
    utility-after-page.php

    The first three are the major widget areas while the others are what I like to call "utility" areas. I think it's important to differentiate between them.

  8. Great ideas! I am totally happy that I choose hybrid seeing how you are building the entire stack! :)

  9. I think that calling it aside on the basis of the above definition is pushing it a bit :-) especially since not all widgets are related to the articles content.

    I like some of the ideas posted on your site, in particular the thoughts done by Cellobella. Her suggestions are maybe not all that good, but I like the way she thinks :-)

  10. That's purely the HTML 5 definition of "aside." It's just an example. A more appropriate definition of the term would be "to the side" or "away from".

    I'm still reviewing everyone's thoughts from the post I wrote though. There might not ever be any mass agreement. :)

    A big part of it is just about allowing you all to be able to overwrite the template files if you choose to do so rather than naming schemes. Block, module, zone, whatever...

  11. More on adding template files for the widget areas

    For those of you that missed the discussion on my personal blog, there are loads of ideas about this. You are welcome to add your input there as well:
    http://justintadlock.com/archives/2009/02/14/replacing-sidebar-in-wordpress

    Why all the fuss?

    I'd like for folks using WP 2.7+ to be able to create their own stuff by overwriting the original. For example, you may not want to use widgets in Primary but rather hardcode it. It would be a lot easier to override this by creating a new file in your child theme instead of making some insanely complex function.

    For example, the Primary file would look like this:

    <?php if(!is_page_template('no-widgets.php') && is_sidebar_active('Primary')) : ?>
    
    	<div id="primary" class="aside">
    
    			<?php hybrid_before_primary(); // Before Primary hook ?>
    
    			<?php dynamic_sidebar('Primary'); ?>
    
    			<?php hybrid_after_primary(); // After Primary hook ?>
    
    	</div>
    
    <?php endif; ?>

    It would be much easier to just delete that or add to it than writing a function.

  12. Drop-down menus

    We've been discussing the possibility of these being included by default here:
    http://themehybrid.com/community/topic/should-drop-down-menus-be-the-default

    I'm hoping to allow for this in version 0.5 now.

  13. Calendar widget

    I've also coded a calendar widget for Hybrid using the get_calendar() function:
    http://codex.wordpress.org/Template_Tags/get_calendar

    There's not really any extra settings except for the ability to choose how the month names are abbreviated. But, it will be a "multi-widget," so you can use it more than once.

  14. Another overhaul of the widget system

    Don't worry. I'm not breaking your widgets this time, and everything will be backwards compatible.

    I just felt like the coding part of the widgets system needed to be overhauled.

    Localization

    Those of you non-native English users may have noticed that widget area names (i.e. Primary, Secondary, etc.) are not localized in the 0.4 branch. That's because I needed to use those names as IDs as well (IDs should never be translated).

    With the new system, the names and IDs will be completely separate.

    Creating custom widget sections?

    If you've been using Hybrid's built-in functions for this, everything will still work. But, I encourage you to start using the register_sidebar() WordPress function instead.

    It's really not a lot of extra work, but will be more "forward-compatible" or "future-proof." Plus, it'll allow you to make sure any child themes you might release to the public can be properly localized.

  15. More link text

    Right now, when you use the <!--more--> link in WordPress, Hybrid outputs something like this:

    Continue reading “Controlling the elements”

    That's probably OK if your post titles are pretty short, but it can be unruly if they look like this:

    Continue reading "This is a long post title to see how they fit in with the design

    That's one long link!

    To me, it doesn't really matter because I never use the <!--more--> tag. The current method is a little better for SEO, but doesn't look as good as something like this in design:

    Continue reading →

    What should it be?

    1) Include the post title (slightly better for SEO).
    2) Shortened version (better for design).

  16. #2

    I used more up until recently. Now I hand craft excerpts that will get folks reading. The more is still used when I cross post to a livejournal, or when I have things I want to force 'below the cut' but really, it's rare. Still #2 is better. It shouldn't affect SEO enough to be appreciable.

  17. Moving wp_footer()

    wp_footer() is an action hook located in footer.php and a very important one at that. It allows plugins to interact with themes sometimes.

    Well, in WordPress 2.8, we'll have the ability to properly load JavaScript in the footer instead of the header. This is great because it'll allow page content to load faster by not having to wait on the JavaScript.

    This also sets up some potential problems with the theme. Currently, wp_footer() fires in the #footer <div>. I don't want any kind of conflicts there.

    One other thing I've noticed is that folks have been using the footer insert (from the theme settings page) to add in XHTML. This was never meant for that. It was meant to allow for adding JavaScript, so I think I'm going to hook that to the Hybrid footer hook instead of the WP footer hook.

  18. Changing Hybrid's typography filter

    One of the things I had wanted to accomplish was making typography just a little better with Hybrid. Well, one of the functions seems to mess up too many plugins, so those of you that have enjoyed the "widow killer" function will have to manually add it next time:

    hybrid_widow() gets rid of those nasty one-word widows that hang at the end of a paragraph just like they do in newspapers.

    It's likely most of you don't even know this is part of the theme, but it's conflicting with a few plugins.

  19. Remove comments-popup.php

    Who actually uses popup comments anymore? Popup windows are annoying.

    Really, I just want to remove it because it won't function with the before and after post hooks correctly I mentioned in the first post in this thread:
    http://themehybrid.com/community/topic/hybrid-version-05#post-803

    Anyone want to keep this? Or, is anyone using this feature?

  20. Dropping WP 2.5 Support

    One of the things I want to do is to make sure Hybrid is compatible with more than one version of WP at a time, but WP 2.5's time is gone. Heck, I'm already developing for 2.8.

    I think it's time to let WP 2.5 go. Putting in too many if(function_exists('something')) just creates more overhead for users that have upgraded their WordPress in the last year. It makes the code cleaner and faster.

    I'm also thinking of dropping WP 2.6 support once WordPress 2.8 rolls around. There were tons of WP functions for themes added in 2.7 that have to be recreated for 2.6.

  21. Moving wp_footer() - Sensible.
    Changing Hybrid's typography filter - I had no idea!
    Remove comments-popup.php - Death to popups!
    Dropping WP 2.5 Support - Again, sensible.

  22. The biggest thing I want to do is make the theme leaner. I want to keep the parts that make the theme run and get rid of all the crud.

    Version 0.5 Survey

    I've also opened this discussion up a little further and created a survey:
    http://polldaddy.com/App/Forms/listSurveys.aspx

    You can read the original announcement post as well:
    http://themehybrid.com/archives/2009/02/take-the-hybrid-version-05-survey

  23. Drop Pre-WP 2.7 Support
    I've got a vote for killing support for pre-2.7 releases if it means that you are wasting time and sacrificing clean coding to make it possible. If people aren't updating their Wordpress installations, they obviously have reached a static stage where they won't be upgrading their theme either. It isn't like a Wordpress install is a huge ERP application that needs to maintain backwards compatibility. If they want to use an older version of WP, let them use an older version of Hybrid.

    Separate Trackbacks / Pingbacks
    This is something that I am confident that more people would use if they either were aware that it were possible, or if their theme supported it. This is a good option to put in the administration panel.

  24. I think some are severely underestimating the value in having the page title in the "more" link. This is the first thing the spiders sees on the way to the page. It's how it knows what the page is about. It's one of the reasons this framework's SEO is so strong. The backend support for SEO options is the best part of this theme.

    From an SEO standpoint separating trackbacks is a good idea too.

    Just took the survey. left all my other ideas in there.

    Thanks for the work you put into this Justin.

  25. BTW... What's a calender widget?

    ... kidding.

  26. Separate Trackbacks / Pingbacks

    I'd like to push this idea back to version 0.6. I'm doing some major work in the comments area to allow more customization for this release. Too much, too fast sometimes results in a buggy theme. But, this option will eventually come. I promise. :)

    I think some are severely underestimating the value in having the page title in the "more" link. This is the first thing the spiders sees on the way to the page. It's how it knows what the page is about.

    I definitely agree. Plus, if users wanted, they could style an image to replace the more link that simply reads "Continue reading."

  27. I'd love the before-post and after-post hooks, those would be helpful for all sorts of stuff I've been wanting to do.

    Death to popups, quickpost, and WP2.5. I'm not sure about WP2.6.* although if somebody's upgrading Hybrid it'd probably be a good time to upgrade WP. Are there any reasons beyond "Upgrading is work/hard" that people would have to be still running 2.6 rather than 2.7? ATMac is running 2.6 because it's the next project after the current one (NPC) is finished and I wanted to do the WP upgrade and the Options->Hybrid switch together as I suspect they'll both be non-trivial. All my other blogs are running 2.7-current.

    I realise you said "not yet" but the separation of pingbacks/trackbacks is something I really like. Also having functions to cope with Tweetbacks a la Joost's "Tweetbacks plugin would be a great thing to have built in - I suspect a lot of people will be adopting this one and having the appropriate CSS classes and such would really save a lot of work.

    The canonical URL would save loading another plugin, so I'd be all in favour of that. I don't see any drawbacks to it, personally.

    Re-classing comments seems like a good thing, to me. Could you perhaps use both classes (author and entry-author) on those comments for the 0.5* series to give people time to upgrade their CSS if needed? Not sure how many people use that though - if it's just us bleeding edge people it probably doesn't matter!

    I'd like using the searchform.php WPish stuff for future compatibility. I don't customise it at the moment but WP's default search generally sucks bad, so it's a possibility in the future. Although if they can fix the plugin search, perhaps they'll fix the blog search one day?

    These things all look great, in short. I'm very pleased you won't break all the old stuff for upgrading purposes!

    r

  28. Lots of great feedback here.

    I'd love the before-post and after-post hooks, those would be helpful for all sorts of stuff I've been wanting to do.

    These are coded and working great right now for me. I'm, of course, running the bleeding edge on justintadlock.com for live testing.

    The new functions would be:

    hybrid_before_entry()
    hybrid_after_entry()

    The post title, byline, and post metadata are all added to these action hooks. This will allow for some cool stuff like moving stuff around. Plus, all three of these will be filterable — you can customize them.

    Are there any reasons beyond "Upgrading is work/hard" that people would have to be still running 2.6 rather than 2.7?

    Actually, there is. Folks that aren't interested in running the Alpha version of bbPress yet still have user integration are still stuck back on WP 2.5.1 or have some hacked up mess to work with WP 2.6. This is the reason the theme was originally made to work on 2.5 — ThemeHybrid.com was stuck in this situation. I eventually upgraded to the Alpha version of bbPress though.

    I'm thinking most people are using the bbPress Alpha though because most people don't like being that far behind on WP.

    I really think the WP.org developers should be maintaining bug/security fixes for the 2.5 branch until bbPress is updated, but they're not.

    I'll at least maintain WP 2.6 compatibility until WP 2.8 rolls around.

    Also having functions to cope with Tweetbacks a la Joost's "Tweetbacks plugin would be a great thing to have built in.

    I'll check it out.

    Could you perhaps use both classes (author and entry-author) on those comments for the 0.5* series to give people time to upgrade their CSS if needed?

    I would, but there would be a conflict of having the entry author and all authors (user role) both having the same class. I haven't seen anyone using this feature yet. I think the best thing to do would be to make a note of it when the new version is released.

    I'd like using the searchform.php WPish stuff for future compatibility.

    Plus, having this as a template file makes it super easy to add a custom search. I know a lot of people like to add a Google search box. Right now, they have to use a theme filter hook to override the default or create some kind of function.

    These things all look great, in short. I'm very pleased you won't break all the old stuff for upgrading purposes!

    Thanks for taking the time to give some feedback.

  29. Remove the email link on the author archive pages.

    This link is spam-protected, but more than a few people have expressed a need to remove it. Most folks set up contact pages nowadays anyway, so I'm thinking most people don't need the link.

  30. Inline documentation

    I'm also documenting nearly all the code. Each file will be prefixed with what it does and so on. And, each template will have a link to either relevant documentation here on this site or the WordPress.org site.

    For example, you might see something like this at the top of the image.php file:

    /**
     * Image Attachment Template
     *
     * This template is used when viewing image attachments.
     * @link http://themehybrid.com/themes/hybrid/attachments/image
     *
     * @package Hybrid
     * @subpackage Template
     */

    This will tell you what that particular file does and gives you a link to a tutorial on this site.

Reply »

You must log in to post.

Topic Info

Topic Tags: