Around five months ago, I released Expound – a free magazine theme for WordPress. A few days ago, Expound has passed 100,000 downloads in the WordPress.org themes directory, which I’m super proud of. I have collected some thoughts along the way, which you may find useful.
Planning is a pretty important step, and you realize that when it comes to supporting and updating your theme. I must admit that Expound is the first theme I actually did any planning with. One important thing to keep in mind is that as soon as your theme is out there, whatever you do has to be backwards compatible, which probably means that you can’t really make more changes to your theme, without risking to break a child theme or two.
Use your theme on your own site for a while, test it out with friends and family, collect as much feedback as you can before releasing the theme (betas don’t count). I spent over five months running the theme on WP Magazine before submitting it to WordPress.org. You can imagine how many changes the theme has gone through during those five months, including several name changes.
Make a child theme and try customizing your theme. Make sure your CSS selectors are not too confusing and easy to override without using
!important too much. Have useful actions, filters and pluggable functions available for fine-tuning stuff (like a featured posts section).
Releasing the Theme
Remember those days when you had to wait a month or two for your first theme review on WordPress.org? That’s changed for good, so the review incentive seems to be working, though it is very uncommon to see the winners pick any theme that is not theirs, which is kind of sad for other authors, but as long as they keep the queues empty – I’m okay with that.
If you’ve never released a theme to WordPress.org before, it’s a good idea to review the guidelines before you get started, and pay extra attention to the footer credit link and licensing rules.
This one is tricky. I find myself spending at least a couple hours a week on support. There were almost 300 support questions on WordPress.org, numerous tweets, e-mails, and even a phone call! It’s quite challenging to keep up with that volume, especially if you’re doing it on your own time. Some Expound users have to wait 2-3 weeks before getting a response, which is sad, and I’m working on changing that.
Once you’ve gone through a good number of support topics, make a list of the most frequently asked questions – having a predefined response, or a link ready can save quite a lot of time. Some of the most common requests for Expound were:
- How to add a logo to the theme
- How to change the color of the menu
- How to select featured posts
- How to change the footer text
- Why is my featured posts section vertical and not horizontal
- I want a slider (ugh!)
Have a link to the Child Themes Codex page ready at all times – I lost count of how many times I had to post that. A Custom CSS plugin recommendation and a link to a simple CSS tutorial will also help.
If people figure their problem out on their own, don’t forget to ask them to post their solution, it may help others struggling with the same issues.
The “no theme options” approach has worked out pretty well for Expound so far. There were numerous requests for things that could have been added as options, but most of them were sorted out with some fairly simple CSS, others well… Sometimes you just have to say “no.”
While most plugins tend to be theme-independent, I took an extra step to provide better support for some fairly popular plugins: BuddyPress, Jetpack’s Infinite Scroll and Featured Content modules, Yet Another Related Posts Plugin, WP-PageNavi and Disqus.
I don’t have any stats and can’t really say whether it was worth the (little) effort, but I’m happy to add support for more plugins upon request. In fact, BuddyPress, YARPP and Disqus were all requests by existing users.
I don’t anticipate any big changes to Expound, and even if I think of something really cool, I’d rather release it as a separate theme to avoid breaking child themes and customizations.
I’ll keep supporting Expound for as long as I can. I’ll keep adding support for plugins upon request. I’ll keep fixing bugs when possible and most importantly, I’ll keep using it. And you can always contribute if you like.