With the release of WordPress 3.4, child themes are now eligible for review in the official theme repository. This is great news. This morning I was curious what the new guidelines look like for child themes and went to the Theme Review codex page to see what’s changed. It’s not updated yet, so I went to the official make themes P2 to see what’s happening instead. Somehow, I missed this conversation from May, but one of the things I see worries me:
Child Themes are REQUIRED to demonstrate sufficient difference from the Parent Theme to warrant inclusion
I hope that we can clarify that requirement further to would-be child theme submitters. Child themes should not have to be very different from parent themes from a functionality standpoint. However, what I believe (hope) this recommendation means is that the theme’s styles be sufficiently different.
Child themes that are vastly different from a parent theme, functionality-wise, should be parent themes. The best folder structure I can imagine for a child theme would be a new
style.css, assets folder for new images, and (maybe) a very light
functions.php file. If a child theme is overriding two-thirds of the parent theme templates, it should just be a parent theme in the first place.
Furthermore, I’d love to see some officially supported child themes in WordPress.org just to handle the folks that want to run the default themes largely as-is. Even if a user doesn’t make many modifications, it is always good practice to use a child theme.
Inevitably, sometime down the road, when the user will have everything in their theme configured just so, they’ll want to make a style change, or insert a little code snippet, or override a template (sidebar on single template in twentyeleven, anybody?), and instead of installing a blank child theme, they’ll just alter the parent theme. This could be avoided if the twentyeleven theme page had a notification to install the default twentyeleven child theme instead.
Or better yet, the twentyeleven default child theme could be installed and activated by default on new WordPress installs.
Lastly, I went to the repository to attempt to find some child themes that may have made their way in to the repository already. It doesn’t look to me like any have, but it’s hard to tell. I hope that Otto and/or Nacin will consider including a new column to the tag filter to sort by parent or child themes.