Konstantin Obenland has been involved with the development of the last three default WordPress themes. In this post, he makes a great case for simplifying the default theme with Twenty Fifteen; and he goes as far as advocating simply using _s as is, only adding a custom style.css
, a la CSS Zen Garden.
His argument is compelling, and I tend to agree with the call for greater simplicity. I’m not sure how I feel about limiting the theme to only changing the stylesheet, though I love the competition aspect that’s possible with that.
Also, read Lance and Ian’s comments. Both of them also have significant involvement in the default themes (and have each had a huge impact on WordPress theming in general), and their comments make great points, especially in regard to the relationship between the default theme and core development.
On the outside all the Twenty* default themes are not that complex in my opinion – but under the hood, yeah, so many files and functions…
I personally never use those Twenty* default themes as they are “too simple” for me, but that’s another topic.
What I am suggesting, is to go a different route with Twenty Fifteen. “_s” would bring much of the same complexity under the hood and the “too simple” approach for many users on the outside. I won’t go that way.
Let’s look what we have in WordPress:
– Child Themes
– Plugins
And there we have all we need! Take a strong parent theme – I am suggesting “Stargazer” by Justin Tadlock – and use a Child Theme for that (there are already 6 available for this, at least…!). Include both, parent and child theme as the “default package” but make it impossible (or really hard) to activate the parent – let users use the child theme. Period.
If you don’t want THAT parent theme, just take another one. That easy 🙂 However, I am really suggesting to use an existing community parent theme to show some more community love!
And for the “extra functionality” like we’ve seen in Twenty Fourteen (featured content, slider, etc.): JUST USE PLUGINS for that! This way we only need to maintain one codebase and not duplicate the stuff for every new default theme. We alrady have doubled functionality for the “featured content” stuff in Jetpack and Twenty Fourteen now. That’s not good!
Ship the default theme (a child theme then), only with supporting CSS styles for those – optional – plugins. Let those plugins be activated as dependency via “TGM Plugin Activation” class (or any other alternative!) — fully optional for users, still really easy to handle.
The child theme then would come with a style.css and maybe a functions.php — totally simple, yeah!
This approach also would push the child theme concept – and the use of them – a bit more which is welcomed I believe 🙂
I would be a huge proponent of a very simple theme that could be styled forever like the zen garden. We could never need another theme again. Isn’t that the core of what themes are supposed to be? Paint and layout?