This is the fifth post in the If you were a WordPress theme developer series, a group of articles where you, the user, get to add your opinion of how WordPress themes should work.
In this post, we’re going to be covering theme options, or theme settings.
What are theme options?
Theme options are settings for whatever theme you’re using. In the themes section of your WordPress dashboard, there might be a page labeled Theme Options, Theme Settings, or some variation of that. This page will allow you to select particular settings for your theme.
Not all themes have an options page built in. Of course, not all themes need this page. A theme settings page might look something like this:
There could be anywhere from one or two options to tens of options.
What would you add to a theme options page?
Let’s lay down some ground rules here because every theme will be different.
- Our theme is very basic.
- The theme options should be about content, not style.
- We want to get information to our users in a way that doesn’t force us to dive into code.
The most important rule is that our options page should be about content. Let’s forget layout and styling for the time being.
What would you like to see in a theme options page that would enhance your blog’s content?


Very interesting post, I think what I would like to see is maybe an option to turn on social bookmarking. First thought I think that WP needs to have its own social booking marking tool automatically built in. Then this option would be great on an option page
Personnally I would add a few fields to turn on/off some useful plugins that I always use when setting up a website.
Some of them will be included in the next WordPress update so it won’t be useful anymore, but until then a field to add “related articles” to the bottom of the posts, another one for social bookmarking (as Tsquez said) and another one for SEO options maybe.
But definitely social bookmarking!
By the way I like your If you were a WordPress theme developer series, keep doing it all the posts are useful!
I’m still learning to put an option page for themes.
Don’t understand very clearly when reading the codex.
And, need to learn how the database functioning with the php functions.
The easiest is to edit the theme template, but what if we want to distribute it to non-tech savvy user? That’s the point…
I would like to add an option to show what links/categories to be shown in the navigation menu.
To add some field to the wp_footer and wp_head function for easy javascript implementation such as google analytics.
And also, this option page maybe used to change certain parts in the theme where the use of widgets is not suitable… (Such as top banner ads?)
tsquez
I think social bookmarking would have to be theme specific. The reason WP doesn’t (and probably never will) have a social bookmarking feature is because social bookmarking might not be something that’s popular a year from now.
hd-J
I like the SEO options, but I’m not sure where you’re going with the plugin thing. You can turn plugins on/off from the plugin admin.
Pangeran
The Codex definitely needs to be updated with theme options, but then again, stuff like that’s usually for advanced users. They kind of leave it to you to figure out, so it’s a lot of trial and error. I do plan on writing a tutorial on this soon.
I’m always riding the fence with being able to change which categories/pages get put into the navigation from the options page. The simple reason for this is that it could be messy with a lot of categories/pages. I think I have 130+ pages on this site, and I couldn’t imagine going through each one, deciding which should be in the navigation. I’ve always found it easier just to manually edit that stuff.
Wouldn’t it make more sense to make the top banner ads area widget-ready (if you went that route with your theme)? That way, users could do a lot more with that area.
Just off the top of my head:
1) Header image url (plus perhaps 3 options for default sizes to indicate to people that they really need to think about the dimensions on a page) – its a style issue but a title is content too
2) Perhaps the ability to specify footers for posts, whether it be copyright notices, subscription reminders, social bookmarking links etc. Don’t know how easy that is because most of the above might be in HTML?
3) The ability to hide or display tags or categories on posts themselves. If tags are used for things like determining which articles are to be featured, then visitors really don’t need to know.
4) Inline advertising option. Enter google adsense code (or whatever) into the box and decide where the advert will be placed in each post, with perhaps a random setting where it alternates? I never quite worked out how to do that normally.
5) A notes section for the admin, which can be saved. When I follow your excellent instructions and modify my themes, I tend to do scary things like deleting and replacing code. If I could copy and paste large segments that I’ve deleted (or I am about to delete) I can always restore them at a later date by checking my notes. Likewise if I add new code, it’s always good to have some form of page where I have a list of the changes I made should I ever need to implement them again. I could even bung in my help forums user name and password for future reference? I currently try and do this in notepad but why leave wordpress? Perhaps that’s a wordpress undertaking rather than a theme issue.
All of the above might be completely ludicrous, but I love the approach you are taking and thought I’d at least give it a shot.
All the best
I would love to know how to create a themes option to automatically put in feed urls so that the user doesn’t have to muck around in the code
I would like to see the ability to get the IDs, delayed (by date) posting, full comment control (incl., custom gravatars, post order, etc.), also a more robust way of adding graphic files instead of custom fields (yes, it works well but tell that to grandma) with text boxes already set for “feature” “thumbs” and “search” images attached to post.
Also would love to see a full editor with a separate “viewpane” of the content edited for a post/page. I’m old school when the mosaic browser was hot!
Justin,
Thanks for the themes.
I would love to see a theme that has an opt in box at the top right hand corner incorporatd in it. (I still haven’t figured out how to put the code in the text box. That’s tomorrow project. I hope it doesn’t take all day!)I would also like it to be adjustable, in other words how many line open, ie, Name:, Email address:, Phone number:, URL etc…
Thanks,
Lane
Bizhack
1) I figured a few more people would go for the header image.
2) This can actually be easily done without touching the main theme files at all by filtering
the_content(), which is how many plugins do it.3) Tags shouldn’t be used for featuring articles that way. You should feature your articles based on tag, not tag your articles based on feature.
4) I suppose this could be useful as something like a shortcode. Then again, this is probably more of a plugin thing than a theme thing.
5) I think a notes section would be great for the WordPress admin. I’ve been thinking about writing a plugin for this for a while, but I wouldn’t normally put this under the realm of theme options.
EmmaB
This is something I’ve been doing with my themes for a while. I think it’s becoming pretty standard nowadays. There’s also the Feedsmith plugin that’ll redirect your feeds.
Jonathan
I’m not sure I follow all of that. It’s probably because of the long run-on sentence you wrote.
Hey, I do have an English degree!
Lane
An opt-in box would be cool, but I think we’re starting to blur the lines between plugins and themes here. Of course, I like to do that sort of thing.
I’d love to see theme options to specify which categories appear in top level navigation. I might have some fifty categories in a website, but only want ten of them to appear in the menu. Currently this requires either handcoding the wp-list-categories or using a plugin.
Да, похоже что в действительности – так оно и есть. P.S. Сайт, кстати, у вас прикольно сверстан
It will definitely be easy if WP will have it’s very own social bookmarking tools but overtime I wouldn’t be effective anymore. If you happened to use social marker for your social bookmarking, you’ll notice that there are actually sites on the list that are already non functional.