11 comments
on commit db41099

But I'm wondering, if you've put the sidebar stuff in the base.php file, and we want to change the front-page.php file, to not have any sidebar, but still being able to do it on the other pages, are we still able to do this? And how?

well, i've always hated theme hooks (and child themes) so it's nothing sudden. they've been brought up a few times recently by users not understanding what the purpose of them is. what's really lost by taking out all the hooks? i didn't think removing the hooks was that big of a change, but i don't really use them that much. when i do use them it's something that could have been done just as easy by editing a template file (and now, not in so many places).

My interest with WordPress started with Thematic, a theme heavily reliant upon child themes and hooks, hence my bias.

I can completely understand why the questions on hooks would frustrate you, but I disagree with removing a feature just because some people don't understand it. I actually think many would start using hooks if they realised how useful they can be.

When used properly hooks and child themes allow you to transparently upgrade to the latest version of the parent theme, great for new features, bug fixes or security. They also help you change from one theme to another simply by editing the hook prefix, especially useful when transitioning a client's site to a new Roots based responsive design. You can also easily reposition elements on the page simply by changing the hook suffix. Maintaining hooks also means that if you have several custom post templates and need to add something new to all of them you can do it with one new function, instead of changing all the custom templates.

Granted most of this can be done by editing the wrapper's base.php but it's not as straightforward, as flexible or as well documented as using hooks.

hooks weren't removed just because some people don't understand it. also, thematic is a perfect example of a theme i'd want roots to be nothing like.. the amount of hooks in that theme is insane and it's very difficult to work with.

also, there's no way that you can upgrade your parent roots theme without running into issues all the time, which is why we've never recommended the use of child themes. we don't keep backwards compatibility functionality, we're always re-arranging the hell out of things and completely removing/adding different features.

when the documentation is re-done (#264 - which i'd like to knock out soon) we can provide examples on how to extend base.php

roots is a starting theme at heart. i understand some people use it as a framework and use child themes (and we do our best to make that work smoothly), but that's really not how it's meant to be used.

I agree that Thematic went overkill with hooks, but you only need to look at premium themes like Genesis to see that they do have a place within WordPress frameworks. It won't stop me using Roots, I'll just adopt and incorporate the hooks from the Theme Hook Alliance.

I also respect your decision to be a starter theme instead of a framework, as I wouldn't like to deal with the additional hassle either. Such is the quality and simplicity of the code, it's not a big leap to use Roots as a framework.

I've never used Roots as a child theme.. because of this:
Roots is a starting WordPress theme based on HTML5 Boilerplate &
Bootstrap from Twitter.
End of discussion :p This means roots should be used as a start theme
for developers, not for making child themes.

Foxaii <mailto:notifications@github.com>
August 19, 2012 10:11 PM
I agree that Thematic went overkill with hooks, but you only need to
look at premium themes like Genesis to see that they do have a place
within WordPress frameworks. It won't stop me using Roots, I'll just
adopt and incorporate the hooks from the Theme Hook Alliance.
I also respect your decision to be a starter theme instead of a
framework, as I wouldn't like to deal with the additional hassle
either. Such is the quality and simplicity of the code, it's not a big
leap to use Roots as a framework.
—
Reply to this email directly or view it on GitHub
<https://github.com/retlehs/roots/commit/db41099f5b4be8166390408aa4f285b131e17ec0#commitcomment-1734675>.

For my part a few weeks ago I am developing child themes to keep updated my theme father and with this new update be quite desconsertado not serve because older versions and already done. Anyway this update seems unbelievable to me and then giving me a while to realize that to achieve the realization of new issues has no problem children, the creation of new base-{template}.php, add my own hook and let your imagination. Congratulations and sorry for my English.
PD: the simplicity and the small number of files I'm thinking of leaving child themes.

I'm trying to get my head around this new theme wrapping stuff. If I wanted a certain page to have a different sidebar or different header or footer etc, then the base.php file is useless for that page. How do I override the base.php for an individual page? I tried using base-page-{slug}.php and base-{slug}.php but they both do not work. Thanks.