98 Responses

  1. Nathan Rice
    Nathan Rice August 16, 2010 at 12:16 pm |

    Sounds like it would be more fittingly packaged as a plugin, upon which a Parent Theme would depend (and perhaps gracefully degrade?). That way, it can be auto-updated using the standard WP upgrade mechanism.

    Since, in PHP, dependency has nothing to do with directory structure, having it separate, rather than included in the theme file, would be the logical thing to do, no?

    Reply
    1. Chip Bennett
      Chip Bennett August 16, 2010 at 8:19 pm |

      I have to agree with the suggestion that a “drop-in” Theme framework is less-than-ideal. Not only does the Theme developer have to keep the parent Theme updated, but also then has to ensure that the Framework version remains up to date.

      What is *really* needed is a solution that allows for the Framework to stay updated.

      But, I still don’t completely understand the benefit gained by developing a Theme based on a Framework? Is it standardization of Theme hooks and functions? Something else?

      Reply
    2. Ryan
      Ryan August 18, 2010 at 9:44 pm |

      +1 for the plugin idea.

      Users could download a “theme”, and if they want to add all the funky “Hybrid Core” features, they can install the plugin on top. That way users have an option between a complex framework powering their parent theme and a super skinny theme.

      Reply
      1. Ryan
        Ryan August 18, 2010 at 11:24 pm |

        Hybrid may be an awful theme minus the features, but that doesn’t mean a theme couldn’t be made which functioned fine without the features, but worked even better with it.

        A bonus of the user developing from a “Hybrid core plugin” is that if the users theme were never updated, they could still get the updates for the plugin and so gain new features as they were added. They wouldn’t be tied to the developer of their parent theme doing the upgrades.

      2. Ryan
        Ryan August 19, 2010 at 4:42 am |

        One of the problems I can see with releasing it as a plugin, is that it could tie you down to providing too much backward compatibility to support themes which weren’t updated to accommodate changes in the framework. Whereas locking it into the theme places the onus of updating onto the theme developer.

        Most updates (in plugin form) would be meaningless to users unless they were bug fixes.

        I guess that depends on the changes. If you added a new shortcode, or improvements to the widgets/interface, then those changes would be automatically rolled in via the plugin.

        Either way, I’d likely to use the new framework and am quite pumped about seeing it out in the world :D

  2. Benjamin Cahill
    Benjamin Cahill August 16, 2010 at 2:02 pm |

    This sounds absolutely amazing! I would much rather build ‘real/parent’ themes based on Hybrid rather than making child themes that sometimes break when updating the parent theme (Hybrid).

    I can’t wait for this to come out. Thanks for your fantastic work!

    Reply
  3. paul
    paul August 16, 2010 at 9:47 pm |

    If I understand well, you’re taking the route of, say, the type of frameworks such as codeigniter, etc…makes sense really.

    Reply
  4. paul
    paul August 16, 2010 at 9:48 pm |

    PS: you need some “Share this post” buttons here ;)

    Reply
  5. Denis
    Denis August 17, 2010 at 12:53 am |

    I think, this step is not a good idea. Adding another layer to this: Website -> WordPress -> Themes -> Framework -> Child theme will confuse people. Majority of people don’t understand completely the framework/child theme idea and you want to add another layer. Whatever you say for the Hybrid, at the end it is a Framework. Now you want to add another layer – Child Theme Framework ( Parent Theme). Imo, it is a better idea to provide hotfixes for the updated Child Themes and build the child theme the way that updated version will not effect the html/css output, where the customizations actually are made.

    Reply
    1. Jacques
      Jacques August 17, 2010 at 2:11 am |

      Sounds great in priciple, Justin – thanks in advance…

      The (arguebly) added complexity is presumably a necessary evil – and the audience is presumably capable…

      Regards
      j

      Reply
  6. Stupid Spammer
    Stupid Spammer August 17, 2010 at 4:28 am |

    Deleted by the administrator. Instead of marking this as spam, I need to keep it to to preserve the comment order and hierarchy. Seems like a WordPress bug.

    Reply
    1. Kevinjohn Gallagher
      Kevinjohn Gallagher August 17, 2010 at 6:21 am |

      I think this is my favourite bit of spam ever.

      Reply
      1. paul
        paul August 17, 2010 at 8:56 am |

        yeah baby!

  7. Adam W. Warner
    Adam W. Warner August 17, 2010 at 7:36 am |

    @Kevinjohn Gallagher,

    Wholeheartedly agreed. It’s just so darn positive;)

    @Justin,

    Great write up on the differences, and the complex issue here.

    Reply
  8. WordPress Frameworks, Parent Themes, and Child Themes…oh my! - Learning WordPress with WP Modder
  9. LukeBream
    LukeBream August 17, 2010 at 8:12 am |

    Your solution seems like a good one. It has a positive impact for hybrid in terms of bringing in more “sophisticated” theme developers into the hybrid community who have all the benefits of a solid architecture and clear blueprint for theme development to follow that is tried and tested following your years of experience in this area.

    On a slightly seperate note it has often struck me how “cheap” the hybrid support is when I compare it with all the other monthly / anual expenses that my online life incurs !

    As the hybrid community grows I can imagine it becoming increasing difficult for you to maintain the amazing support level that you have always offered. There may simply not be enough hours in the day.

    Returning to my firts point about bringing in theme developers whom are creating themes on the hybrid arcitecture you have a ready made source of additional expertise who could potentialy share some of the workload.

    One method you could adopt for this might be as follows….

    Change the pricing model for hybrid support perhaps to include the following

    1. An cheap introductory 7 day support for say $5 which provides a low barrier to entry and gets people through the door and experiencing how good the support is. It also gets them on your mailing list so if they dont take up the “full support” option at the end of the trial you can email them over period of time to encourage them in future.

    2. Then offer the normal support as it is at the moment but at a higher price $49 per year for example.

    3. Support your theme developer community financially by creating an affiliate program that meant they they got paid say $5 or $10 per month for each end user they brought to the hybrid paying support forum. (might you not also offer this out to end users too ?)

    4. Activly encourage these experienced and technical theme developers to join in providing the support to the community which would reduce your workload in this area.

    Justin, just some thoughts ! But above all I would like to thank you for all the amazing work that you do. And the tireless hybrid support that you give me !!

    Skywalker

    Reply
    1. LukeBream
      LukeBream August 17, 2010 at 8:19 am |

      stupid me ! I just read back through my comment – should be $5-$10 for each referred member rather than per month !!

      Reply
  10. Reinar
    Reinar August 17, 2010 at 8:24 am |

    Very explanatory article Justin.

    Considering all elements including but not limited to the database and WordPress itself, then what is WordPress? Would it be the ‘engine’ or would that not be the actual ‘framework’?

    Reply
  11. Reinar
    Reinar August 17, 2010 at 8:30 am |

    An additional thought – We must somehow ensure transparency towards end-users. i believe it’s highly important that all speak the same language, know what we are working with, what to update etc.

    Reply
  12. BrianK
    BrianK August 17, 2010 at 10:10 am |

    Justin, what are the main features you anticipate people will weigh to decide whether to build a parent theme or child theme? Menu location? Front page setup?
    Built in widgets?

    Reply
  13. Jayvie Canono
    Jayvie Canono August 17, 2010 at 10:30 am |

    Justin, reading through your post, I’m a little nostalgic about the earlier days of WordPress theming. Back then, things were so simple: you put up a parent theme, and hoped that someone likes it. Instead of trying to write a few thousand words on the subject, I guess what I’m trying to say is that the line between “theme” as a visual design and “theme” as “a bunch of plugins that aren’t really plugins” has been blurred so much it’s almost ridiculous.

    So few drop-in Parent Themes are released with just widget definitions and core functions anymore, and yet for so many years we went along just fine and were able to design sites quite well without a bajillion new functions in the functions.php file.

    This old dog is frustrated. That’s pretty much what my comment amounts to.

    Reply
  14. Brad Potter
    Brad Potter August 17, 2010 at 1:31 pm |

    Anything that makes the developer’s job easier is most welcome. Look forward to checking it out Justin.

    Reply
  15. Michael
    Michael August 17, 2010 at 4:02 pm |

    Looks like a good system for you personally, but you may have lost the battle at large for the word “framework.” Seems like everyone’s using it these days as a synonym for “Big, Advanced Parent Theme.”

    That said, given how much I’ve learned from you by digging through Hybrid’s files in the past, I look forward to Hybrid Core and hope to make a theme or two with it.

    Reply
  16. John James Jacoby
    John James Jacoby August 17, 2010 at 9:13 pm |

    It might be worth mentioning that a true ‘grandchild’ theme simply doesn’t exist, and isn’t possible with the current codebase unless you code a theme to include CSS or JS from an existing source outside of the parent and child.

    We run into a similar situation with BuddyPress, where we recommend making child themes run off of the ‘bp-default’ theme. If you have a custom theme, obviously that won’t really work as expected, so we developed the Template Pack plugin to help assist with converting an existing theme into a proper ‘bp-default’ child theme. But, if you wanted to inherit CSS, JS, and HTML from both ‘bp-default’ and Hybrid, you’re stuck in a rut and need to get your hands dirty.

    I think this is a circumstance where parent/child themes satisfy 98% of WordPress users, but it’s the 2% that see the caveats and need to tip-toe around them.

    Reply
  17. The Frosty
    The Frosty August 17, 2010 at 11:02 pm |

    I would love to see an alpha copy for testing.

    Also there are ways to update the internal framework when nested inside “the/a” parent theme, I’m actually looking into this for a project.

    Reply
  18. satotaka
    satotaka August 17, 2010 at 11:58 pm |

    Hi, justin.

    I can’t wait to test the Hybrid Core bata copy.
    Can I reprint this article to my blog after translation into Japanese?

    Reply
  19. Devin Walker
    Devin Walker August 18, 2010 at 1:31 am |

    Hi there Justin,

    Let me say that this article cleared up a whole lot for me and I thank you for this… the idea of parent/child themes is a bit of a head scratcher for many and I think you hit the nail on the head with this one.

    Reply
  20. Fuad
    Fuad August 18, 2010 at 9:18 am |

    Hi Justin, do you release kind of independent software like codeigniter for your framework php language? it’ll be interesting to hear update for this awesome idea

    Reply
  21. Egyptological
    Egyptological August 18, 2010 at 7:52 pm |

    I’m very keen on this idea, thanks Justin

    I’ve used Hybrid to develop a theme which I will use on all my sites, but of course I want them all to be slightly different: no two sites are identical. I’m getting round the problem by testing for specific style sheets etc but it would be much neater to make my theme a parent rather than a child.

    I use very little – I think – of the Hybrid theme other than the core so this really suits me.

    Reply
  22. Ryan
    Ryan August 18, 2010 at 9:51 pm |

    @Justin – Brilliant post.

    I thought maybe you had given up on releasing the framework as it’s own entity, but thankfully it seems not :)

    This is exactly the sort of tool I’ve been look to use for a while now. Thanks for continuing with the project and I can’t wait to dig into it and hopefully use it in a few of my own projects.

    Reply
  23. Rich
    Rich August 18, 2010 at 10:08 pm |

    This is neat. I just hope it doesn’t delay that awesome forum plugin for a year too. That’s what I keep checking back on for updates.

    Reply
  24. Community links: Useful graphics edition | WPCandy
  25. Basilakis
    Basilakis August 30, 2010 at 3:00 pm |

    Hey Justin!

    Just 2 quick questions by me, for what i whould love to see from a framework.

    1) Could we use template system for custom post types? For example, if we develop a custom post type named Movies, could we also make a template called movies.php?

    2) Comment form, would be an extended template system?

    Reply
  26. JohnnyPea
    JohnnyPea August 31, 2010 at 10:49 am |

    Finally somebody discussed this. Thanks ;)

    Reply
  27. Matt
    Matt September 14, 2010 at 11:34 am |

    Looking forward to the release of Hybrid Core. I think it’s a great idea to allow developers to “package” the core functionality/logic of Hybrid in their own parent theme. Thanks for your hard work and offering the fruits of your labor to us all. Can’t wait to give it a try – how’s it coming along?

    Reply
  28. Help me understand the GPL so I do this right
  29. Základná kostra pre vaše témy « WordPress.sk
  30. Why I only use Theme Hybrid
    Why I only use Theme Hybrid November 26, 2010 at 12:01 am |
  31. Rebuilding Spigot with Hybrid Core | Spigot Design
  32. Jauhari
    Jauhari December 17, 2010 at 1:38 pm |

    But, many site has said that you Hybrid Theme is Framework

    http://www.problogdesign.com/wordpress/a-comparison-of-6-popular-wordpress-frameworks/
    http://www.wptavern.com/comparisons-between-most-popular-theme-frameworks

    But, overall I am agreed with our explanation

    Reply
  33. Featured WordPress Theme: Hybrid - WordPress, Multisite and BuddyPress plugins, themes, news and help – WPMU.org
  34. Roundup of thoughts on what 2011 should hold for WordPress | WPCandy
  35. Are You Using Child Themes Correctly? | Equal Web Creative
  36. Cozy Child Theme
    Cozy Child Theme February 22, 2011 at 9:01 am |
  37. Grandchild themes and optimal network architecture | WordPress Stack Exchange Monitor
  38. Our philosophy on WordPress themes
    Our philosophy on WordPress themes June 10, 2011 at 10:15 am |
  39. Oren
    Oren June 10, 2011 at 7:07 pm |

    This is a great article! Take this from a WordPress theme/plugin developer.

    Reply
  40. Greg Turner
    Greg Turner June 26, 2011 at 2:53 pm |

    Thanks for this thorough explanation of the various terms. I had always thought the word ‘framework’ referred to a parent theme that was loaded up to the gills with options in the dashboard. Now, using this word as Justin advises, is there a better term for such parent themes that have options up the whazoo? Incidentally, I just purchased exclusive membership into Theme Club.

    Reply
  41. Parent theme, child themes, and frameworks
  42. Wordpress Developer Tools
    Wordpress Developer Tools November 3, 2011 at 5:59 am |
  43. A New Year, A New Theme Shop | Theme Foundation
  44. Free WordPress Frameworks for Designing Your Own Child Theme
  45. Allon
    Allon April 17, 2012 at 4:24 am |

    Hi Justin,

    Your writing is amazing, if I decide to use Hybrid as a framework then I would sign up for support based on the fact that it is obvious that you can explain things very clearly :)

    I am new to this whole framework thing and just started developing my own themes and therefore am looking into using a framework, mainly in order to ensure my themes cotain all wp functionality and maybe start of with a few extra features like a good color picker, logo upload, and anything else. I checked out a ton of frameworks and started tackling the child themes before getting here. It is obvious now that as a developer, child theme is not the way to design a theme and I would go about it by developing a parent theme so that users can just download theme instead of needing to download both parent and child.

    My question about Hybrid is, is this possible? Do I just install the Hybrid theme and edit it or do I need to download Hybrid core? Do I download Hybrid core and add template files to it? I am a bit confused. Just setting it up it doesnt seem to work and I get php errors. Maybe I just need to be pointed to a link that explains starting off with Hybrid-core and info regarding using it as a standalone theme.

    Thanks!

    Reply
  46. Allon
    Allon April 17, 2012 at 1:21 pm |

    Thanks for the reply, but I tried that and need to be a paid member from what it looks like and want to try the framework out before doing so.

    Maybe you should offer just some started tutorials for non members?

    Anyway, it seems I worked it out, hybrid-core – I can install and then create template files and use it as a base for developing. Installing theme hybrid would give me all the features of hybrid-core with a fully developed parent theme that I could customize and use as a base.

    Is that correct?

    Reply
    1. Norman Bird
      Norman Bird January 8, 2013 at 11:11 am |

      I downloaded the framework. nice that you provide it for free, but for someone not familiar with your hybrid core, its kind of useless without an explanation of how to use it. Even install it. And asking for payment before seeing documentation seems…weird marketing like or something.

      Reply
      1. Syed
        Syed February 2, 2013 at 4:50 am |

        I agree with Justin on this, and if you need to see the tutorials you should pay. And as far as I know its not expensive (compared to how much money you will be making by building rapidly using awesome “Hybrid Core” Framework. I am not a big fan of frameworks (still not a 100% fan), but I started using “Hybrid Core” about 3 weeks ago, and believe me or not its awesome to use, and as far as learning is required there are lots of free parent themes available on the web to download and explore, what can be more better then the code in hand then reading bunch of tutorials (just kidding ;) ). But if you want free learning then you will have to go through the code exploration way.

        Note: There are even several parent themes from Justin on wordpress.org, and they helped me learn a lot.

        Thanks Justin for such an awesome “Hybrid Core” gift to the wordpress community.

  47. WordPress Theme vs Framework vs Child Theme
  48. David Abramson
    David Abramson January 21, 2013 at 5:36 pm |

    Hi Justin,

    Thank you for the simple explanation :)

    I’m very new to the idea of frameworks, parent, and child themes and I actually just built my first site using a child theme from the Genesis framework so it’s good to know a little bit more about how the site works.

    I was wondering about the grandchild themes because it looks like they have released at least one update for the child theme I’m using (Executive). Does that means if I modify the style.css or anything else from that theme, if they decide to update it again, all my customizations will be lost?

    Thanks again for the clear picture!
    -David

    Reply
  49. Grandchild themes - solving a problem to a bad architecture : Post Status
  50. Customising Wordpress Themes-Child vs Framework | HooPmedia
  51. The Exhaustive ManageWP Guide to WordPress Theme Frameworks

Leave a Reply

By submitting a comment here you grant this site a perpetual license to reproduce your words and name/Web site in attribution.

Please use your real name or a pseudonym (i.e., pen name, alias, nom de plume) when commenting. If you add your site name, company name, or something completely random, I'll likely change it to whatever I want.