Ideas for Theme Options


What can you include in your theme configuration options? You could go into an overkill mode and provide options for everything, starting from the background color to the spacing between the text and the border. This works well for people who are somewhat tech-savvy and can distinguish between a font size of 12px (pixels) and 12pt (points).

Then again, depending on the type of audience you are targeting, you might want to provide some “canned” options and then some configurations. This can reduce the load on your side, in the sense that you can do your basic theme layout and design, then isolate the customizations (like colors) separately. You also prevent your theme user from inadvertently breaking the layout. You might ask, “How can my user break the layout?” If your theme user had the ability to configure widths of different on-screen elements, at some point he (or she – I am not sexist; I just prefer a convenient shorthand notation) might end up with the total width of the posts and the sidebar exceed the overall content’s width.

And finally, you could decide to provide a set of canned options (like color schemes) and simply let the user pick one and not customize anything else. Eventually what you provide is dependent on two things – your skill and the time you are willing to devote.

This being said, the following is a list of options you can consider providing:

  1. More color – Let’s face it. Everybody likes a different set of colors. While picking a WordPress theme I have found myself being dissatisfied with the available colors so often that I ended up writing themes myself. So when you are creating a theme, provide options for colors wherever possible. It also helps if you provide some predefined options – one for a light-colored theme and another for a dark-colored theme. The following are potential areas you could look into:
    1. Body background – An ability to specify a background image is going to be a bonus, for sure!
    2. Header – This is a hot favorite amongst theme developers and users. In particular if you are targeting small businesses, chances are they will want their company’s logo in the header, so your theme is better off supporting a custom header image
    3. Fonts and links – Apart from a general preference of colors here, the theme users may also be required to tweak a color based on the background selected. And some people prefer their hyperlinks show up in a color different from the rest of the text, while others prefer the same color.

    Coding Complexity: Medium if you are providing a color picker etc. Easy if you are relying on the user’s knowledge of RGB colors.
    Testing Complexity: Easy.
    Bang for the Buck: Very high.

  2. Layout: Widths, Heights, Spacing and Floats – Your theme could be fixed-width or fluid. In other words, the widths you give to individual elements like posts, sidebars etc. could be predetermined in terms of pixels (fixed-width), or they could have a percentage of the total window width (fluid). What you provide is really a function of your tastes and both designs have their pros and cons. In either case:
    1. Provide options to control overall width.
    2. Provide options to control width of individual elements.
    3. Allow custom spacing between elements.
    4. Allow the option to float / align text and content either to the left or to the right. This is useful for themes that go from the right to the left (RTL) as opposed to the left to right (LTR)

    Coding Complexity: Medium. The coding itself is easy, but you have a lot of elements to think about.
    Testing Complexity: Complex to test, because older versions of IE really play havoc.
    Bang for the Buck: Medium. A lot of people don’t fiddle with the widths of a theme, so you might not extract much mileage from this. However, your theme users may cater specifically to people with high-end machines, so they might want to capitalize on the high-res monitors and make the themes wider, or they might want to cater to all audiences and make themes that fit on a 1024×768 monitor.

  3. Navigation Menu Configuration – It helps to have a pretty navigation menu at the top of your blog. Beware, though, that such a menu needs to be debugged on older versions of Internet Explorer for compatibility. In addition, the following considerations are needed while building out your options:
    1. When you have created such a menu, you have to realize that not everybody is going to want to have every page displayed in the navigation menu. This is particularly the case when you have a lot of pages in your blog. In such a case it helps to have a selection list of pages to pick from.
    2. Also, there are some folks who prefer having pages listed in a widget by the side. For such cases it is a good idea to provide the option to completely hide the navigation bar.

    Coding Complexity: Complex for setting up the drop-down menu. Medium for listing pages to include / exclude, easy if you are telling the user to manually enter page ids.
    Testing Complexity: Complex to test, because older versions of IE really play havoc with floating menus.
    Bang for the Buck: High. Apart from a drop-down menu adding a “cool” factor to your menu, the ability to exclude / include pages by choice really takes things up a notch.

  4. Excerpts vs Full Contents – Some people are in the habit of submitting long posts. If all contents of recent posts show up on the landing page of your blog, things might go ugly. Some other folks like showing the complete text of posts on the front page, but only showing excerpts on the Category or Archive or Search Result views. For such cases it might help if you provide an option to setup “excerpt” views on certain views.
    Coding Complexity: Easy. WordPress provides the APIs to display excerpts and full contents, so you only need to apply the right conditions.
    Testing Complexity: Easy. You only have to look at different views (Categories, Archives, Tags etc) to check if your setting is working. This is a browser-safe feature, since it is handled entirely in the back-end.
    Bang for the Buck: Medium. This kind of a feature is useful if the blog is a “news” blog with frequent updates, where summary views are presented on the front page and the full stories are on individual pages.

  5. Widgets, Dynamic Sidebars and Sidebar Setup – I like having one sidebar. But there are people who like having two of them. Then there are people who like 3 sidebars or 4. And some others prefer having no sidebar, but they like the contents to be displayed in the footer of the page. As you can see, there are a host of choices you can offer here:
    1. A configurable number of sidebars
    2. Ability to define sidebars on the right or left side of the page (or at the bottom). This will allow your users to either put the sidebars together or to have them laid out on either side of your content.

    A word to the wise here – by default when you define a sidebar in WordPress, you put its contents in the sidebar.php file. Without special attention though you end up making your sidebar static. Users typically love adding widgets to the sidebar and so a static sidebar might become terribly restrictive. For this purpose it is advisable to make your sidebar dynamic. This is usually managed using a very simple piece of code.

    Coding Complexity: Easy. This is a fairly easy option to code, with simple APIs.
    Testing Complexity: Medium. Again, a fair amount of testing is required across browsers, to ensure that the different layout options render as expected.
    Bang for the Buck: Very High. Your theme’s reach grows rapidly when you allow configurable sidebars.

  6. Internationalization and Localization: Translation-Ready themes – Most themes are developed for English users. However many users have their blogs in non-English languages. It is for these users that you need to provide translation hooks. This is much easier than it sounds:
    1. If you have a dynamic sidebar, in most cases you will be able to specify the title of the sidebar in your “Widgets” page. So translation hooks are not needed for any standard widget.
    2. Drop-down menus for pages, category names etc. don’t need any hooks either, since these are defined by the blog owner and get dynamically pulled
    3. What you will need hooks for are static pieces of information that you put on your posts, like “Categories: …”, or “Tags: …” or “Edit” or “Add Comment” or “Comments” or “Posted By …”. That’s about it.
    4. In addition, for the “fallback” mode of dynamic sidebars (i.e. when the dynamic sidebar functionality is not available in a particular version of WordPress) you might have static widgets defined. These static widgets will require translation.

    Coding Complexity: Easy. WordPress provides APIs to make fields translation-ready.
    Testing Complexity: Medium. To call your theme translation-ready you need to ensure that all elements that can be translated indeed have translation hooks.
    Bang for the Buck: High. This feature is a great “nice-to-have” and it surely gains you fans!

  7. SEO, Advertising, Analytics, Additional RSS Feeds etc – This where you start entering overkill territory. Or maybe not. There are a lot of plugins out there, which do a pretty good job of Search Engine Optimization, hooking up Google AdSense and bundling Analytics into your blog. You could provide a lot of these as features for your theme, but IMHO it takes some focus away. To cite some instances:
    1. If you are bundling Google Analytics into your blog, you cannot include the Analytics script in your theme and dynamically populate the web-property id. The theme submission gets rejected by WordPress. Plugins don’t typically suffer from such limitations.
    2. If you do decide to provide such features, which are not purely functions of a theme, be sure to provide “opt-outs”, so that people using plugins can stay with those.

    Coding Complexity: Medium. The coding aspect of this is simple, but the concepts and features need thought.
    Testing Complexity: Medium.
    Bang for the Buck: High. Particularly for users not using any specific plugins, having these features bundled with your theme is a good incentive.

  25 Responses to “Ideas for Theme Options”

Comments (25)
  1. I have entered the code for Google Analytics and waiting for it to start working.

    I am now attempting to enter the code for Google Webmaster Tools which is supposed to be entered in the home page. The example Google provides, is, of course, an HTML file, while WordPress uses PHP. I cannot find a place in your settings where I can enter the Meta line requested.

    Appreciate your assistance.

  2. I bookmark this post, as this list should be framed in gold and plugged at all theme-designer’s walls!

    Especially the point on localization, I am preaching to theme developers (mostly americans!)! They just ignore that there are more languages than one in the world!

    Thanks for this post!

  3. Hi, I was just wondering if maybe you could make the non-blog space, i.e. space not used for posts that is just empty space, have transparency so that the background image could be better seen.

  4. Im using Suffusion as a static website. Seems to work great for me. And I am trying to digest all this info. But thank-you and good job my friend.

  5. I really like your theme, but I want to set up the navigation in a row, just like yours. how can i config it? I will appreciate it, if you give me some advices. Or you can visit my site “”

    • Thank you so much I love the theme and although while I have had several issues, mostly completely caused by my inexperience, the options are so extensive and thorough the only issue is figuring out all the changes you want to make, and in my case I have changed them several times as well as learning new options Suffusion supplies every day. So many members only want your help, which I have at times needed also, yet forget to Thank you for all your hundreds upon hundreds of hours of dedication to a theme in which you do not even charge! This upon having a regular day job is extraordinary and I want to thank you so much for making hundreds of other members lives easier due to you volunteering support!!

      THANK YOU!
      Ryan @

  6. Hi!

    Your theme is awesome. I have a few questions.

    I want my site to look as clean as possible. How do I remove author, date and time from posts + the “Leave a reply” banner and the “You may use these HTML tags and attributes:” text?

    Is it possible to change every font individually? My “Edit” link and some other text is in a color that doesn’t go with my design and I would like to change it.

    Also (please bear with me!), can I put “Logged in as admin. Log out.” text beneath the “Submit Comment” button?

    Thanks !!

  7. Hi.
    Is there any way to change the background color of tiles whe you use the tiles view?
    Not the whole body but just the tiles…

    Otherwhise an awesome theme. I use it on both my websites.

  8. Hey sayontan, Nobody knows WP better than you. Simply awesome 🙂
    Superb theme, almost everything is customizable, One can do anything with these theme depending upon his creativity.
    You’ve got alexa ranking of 26k… What a great following to you and your theme. Simply rocks and you really deserve it.

    I have got an idea to make it unbeatable. Add a forum option in suffusion.
    See Mingle forum plugin for wordpress. Add similar simple light weight plugin(not as a plugin but as a inbuilt feature) to your theme (I tried to even simplify on my site). I bet Word-Press and Suffusion will become the only BEST combination for website developer. Make it one solution which serves all your need.

    Please add a testimonial column. You’ll receive tons of them 🙂

  9. I am using suffusion for it easy and available options multipul widget. see my own website, you will understand how suffussion is powerful

  10. This is the best theme. I use it on my blog after trying many other themes. Thanks for your great work!

  11. This is an amazing theme. I am integrating this theme with several of my clients sites. I have been able to integrate your theme with it’s amazing number of options and your terrific tutorials into the html sites that i had already created for most of these clients. The wp part of their sties are not quite up yet, but i will post them here when they are.

    I especially like the addition of the ability to make child themes. It facilitates design work when you are trying all sorts of variables.

  12. I am having a problem with my post titles being h1. i must have checked something I shouldn’t have. I been trying to figure out for days. Can someone please help?

  13. Hi

    Your theme seems great, only problem is I cant get it to work, When I activate it the theme of my website changes, but when I login to the admin screen there is noting but a white screen.

    Please advise

  14. Hi how can I do page pagination for grid page?


  15. I’m using suffusion for our virtual assistant blog. I was wondering if there’s a way that we can check a video
    tutorial for suffusion? I love the theme so much and I’m trying to get familiar with the options. Kindly provide me your youtube channel for your video tutorials if there is. Thanks.

  16. Hello,
    this Frameworks is fantastic!!
    And have a many colour theme, why you dont add a option for allow user change the skin in home page like a widget…


  17. Reading this post and looking at the dates on the comments, it’s almost a road map for what you have made available in Suffusion over the past three years. What I really appreciate is that you allow the blogger to rewrite the rules and decide how the blog will look by learning the extended Suffusion backend. Thank you for an awesome interface that makes Suffusion such a masterpiece.

    Is there any way something like a blockquote could be made to behave like a boxout? Can a box with editable text be anchored to a point in an article but run down the page in a narrow measure and contrasting style alongside the main narrative? A sort of dynamic, inset widget that has been set free from the sidebar, I suppose.

    We can already do something similar with pictures: but can html wrap type around one side of a box that starts a specific point in the article rather than a specific position on the page? Would a plugin do the trick? (How easy would it be to turn styled text into a picture on the fly, for instance?)

    Thanks for a theme that has always delivered more than meets the eye.



  18. Thank you for your time and effort, i have a thousand questions but will search them out on your forum.
    I know nothing about HTML, CSS, or any coding but managed to build a bare website as a complete novice.
    I enjoy the whole experience and until my website “blows up” probably due to me doing something wrong,
    i will continue the enjoyment.
    Thanks again,,,, Jimi.


  19. Hi..

    This is the best theme.