Theme Options Can Make Your Theme Worse

✳︎

in

For consideration: WordPress Theme Options actually make your theme worse—if!—if they ape functionality better provided by a plugin. Think twice about those theme options.

15 responses

  1. The same is true of SEO stuff that people might have to rip out 😉

    Lots of stuff could possibly be moved to the functions.php where it can then be modified in a child theme.

  2. Theme options can also make it harder to do cool stuff with child themes and make them unique because each child theme would have to account for the parent theme’s options.

    This is one major reason I’m moving away from a lot of theme options in future themes.

  3. It’s such a tough call, how abstracted the theme could be, how much it should do, how much it shouldn’t. Tough, but I like it. 😉

  4. I always knew that having too many options can make a theme undesirable. Like if you list every single way to edit the theme from the options panel, then it’s overkill.

    I’m just trying to build an options panel with strong options that show their purpose, and picking the ones that are truly optional options that don’t really need to be there.

  5. Oh! Hey, Andy, while I’ve got your attention: have you considered, or looked-over Thematic in an SEO regard? Curious how it appears to someone that really knows what they’re doing with SEO.

  6. Mike, let us know what you wind up leaving in and what you leave out. Or even what you’re planning on.

  7. Not to be a copycat Ian but I’m working on a theme similar to Thematic, well sorta.

    It’s my own starter theme that currently is built to be skinned easy and gives you the ability to make your own “Frankenstein theme” with modules of code to add different pieces of premade parts to the page templates. So far my options that are definitely necessary are the picking layout and style css files, and to let the user pick what modules they want to use. Anything else is too much.

    So I guess options can make your theme worse if the options are just unnecessary and don’t suit the theme. Like I don’t need SEO options seeing as there are decent plugins for that.

  8. I think it is impossible for a theme to achieve “one glove fits all” as far as SEO as everyone has their own opinions.
    Examples would be the method used for handling meta in the header – last time I checked if using Headspace I would have to modify your header for instance.

    I find paging is worse than using a custom query so WP Page Navi will never be used.

    Why use a plugin for comment policy when it could be a widget area

    Most themes currently assume that you want everything in the header div, though a lot can be done with some very specific CSS
    Wouldn’t it be logical to have a widget area before the branding?

    How about a custom page that is just an include defined in functions.php? This would allow custom home pages which don’t necessarily include global elements.

    Widget areas specific for RSS feeds? (going down the rabbit hole a little)

  9. How about a custom page that is just an include defined in functions.php? This would allow custom home pages which don’t necessarily include global elements.

    I was considering this before I went on my mad quest to get child themes pumped up for 2.7.

    I’ve got to test out HeadSpace 2 again. And think some more about widgets. Although I was thinking about adding a hook into the header, not a widget, We’ll see.

    Thanks, Andy!

  10. While I do agree that there’s some thing I’ve seen on a theme Options page that really woudl be better served via plugin, I’m going to tackle it from another viewpoint. 🙂

    Up above where Mike said he thought by listing every option to edit the theme from the options page was overkill.

    on some setups, like single-user WP where the owner does not want to or does not have the knowledge to edit code, or on a WordPressMU setup where the user just plain can’t use the theme editor, then it makes a ton of sense.

    But again, the options themselves have to make sense. There was a theme released earlier this week with three separate downloads. The only difference was the sidebar was moved around. In that case as well, an options page makes more sense than three separate themes. Even bundled child themes would have made more sense.

  11. Well yeah in pretty much everything, moderation use is best. But I’m wondering: so we can’t kill a parent’s theme options? There’s no way to do it, say, via the child theme’s function.php? Hmm…

  12. @Hafiz
    After posting my comment above, I got to thinking about that. I haven’t gotten into it yet, but maybe using a filter or action to change or remove an option might work in the child theme (I’m talking completely removing it from the theme options page).

    It’s something I’m definitely going to check out because there’s a few options I’d like to remove to achieve something else.

    Of course, if we want to remove it, then maybe we should be asking ourselves whether it should’ve been added in the first place. 🙂

  13. @Justin
    Sounds great!

    I’m also thinking and looking for ways to do various cases: completely removing the parents theme options, only removing some of the options, replacing the options, adding new options, removing all options and adding a completely new ones, etc…

    It gets confusing after a while though 🙂

  14. One thing I’ve been trying to figure out is how to remove a Parent Theme action from a Child Theme’s function.php. No luck with that yet.

    Knowing me, it’s probably something simple I’ve overlooked.

  15. I ran into that problem too, Ian. You have to add the remove_action inside an extra function, then use add_action to add that function to wp_head. It would seem like any action removed in the child theme should take over, but that’s not the case without creating a new function just for removing actions.