
  1. Code
  2. Theme Development

A Roadmap to Publishing WordPress Themes for ThemeForest


So, you think that you're now skilled enough to create and sell WordPress themes? That's great! You can choose between selling on your own or using a marketplace. In this post, we're going to go through a roadmap to get ready and publish WordPress themes on ThemeForest, one of the biggest marketplaces available.

I'm thinking that in the past year, I got better at WordPress enough to create and sell WordPress themes. I'd never go the other way and sell themes from my own website - That's an expensive option for me since I have to set up payment systems and promote the heck out of the website! That's why, I started planning a roadmap to publish WordPress themes on ThemeForest, the best marketplace I know to sell many kinds of templates - including WordPress themes.

I've come up with 6 important steps to build the roadmap. Let's go through them now.

Step 1 Choosing the Right Category for Your First Theme

The first step is relatively easy: We're just going to think.

If you browse through the categories, you can see that some categories have hundreds of themes while some of them have a lot less. For example: While writing this post, I see that there are 952 themes in the Creative category, 757 themes in the Corporate category but only 18 themes in the Technology category and 25 themes in the Mobile category.

But these numbers don't mean that mobile themes sell less and corporate themes sell more - it means that some categories are more competitive than others. Of course, you can't ignore the fact that the reason for competition in certain categories is, well, their demands are much more than the others.

Again, less competition doesn't always mean less profit: Say, if you make a substantial mobile theme, you can become the monopoly of the Mobile category. Or you can go the other way and get right into the competition by creating a corporate theme. If you know how to achieve a competitive advantage, your theme can become one of the most popular themes in that category.

Think it through: Get into competition to sell more or become the monopoly in a noncompetitive category?

Step 2 The Importance of Functionality

You can't publish a static, boring theme with limited functionality and expect high sales. People don't buy your themes to replicate your demo content - they look for flexibility and options that can turn the theme's demo into something they can use.

In my opinion, you should focus upon at least three points of functionality:

  1. A neat set of shortcodes
  2. A good rate of flexibility
  3. Functionality that can benefit from WordPress' core features

While thinking about what functionality to include, remember this: Functionality bloat could repell people from buying your themes, too. There's no way that anybody would want or need to use 500 different fonts and 250 types of backgrounds - maybe except for a funky font showcase.

How to Serve the Functionality With Plugins

While writing this article, Stephen Harris, one of our best authors here on Wptuts+, had a different idea about shortcodes:

Shortcodes should never come bundled with a theme. Once you switch theme, your posts will be left with shortcodes appearing in them. If the idea of the shortcode is to style content (a button, or a styling some generic 'note' for example) then this should instead be done via TinyMCE button which produces the necessary html.

We can't ask people to install additional plugins manually because it's extra work for everyone and some people might even fail to see this requirement and then complain about the theme, not fulfilling its promises about functionality. That's where the TGM Plugin Activation library comes in handy.

The TGM Plugin Activation Library

The TGM Plugin Activation library allows us to require and/or recommend plugins from both WordPress Plugin Repository and external sources (including your theme's subfolders). By following the instructions, you can include this library in your theme to display notices to the user and allow them to install the required (or recommended) plugins even in bulk.

Since it prevents the website's content from breaking when the user switches themes, this is probably the best way to include the functionality for your theme's users.

Step 3 Outsourcing: No Reason to Reinvent the Wheel... or jQuery

If you decide to be the owner of every pixel and byte of the theme, you'll probably need a few extra months to finish them all.

You don't have to design the background patterns, icons, <hr> lines or code the slider, tabs, multi-level menus etc. all by yourself. As long as you understand how licenses work, you can use resources on the internet.

TLDR Legal: A Great Place for Learning About Licensing

TLDR Legal is a great website, aiming to explain open source licenses in plain English. Since most of design & code resources are licensed under open source licenses like MIT or GNU, you can check how they work from this website before using.

You can search for licenses or "terms" (limitations) by clicking the "reverse search" button inside the search box. In our situation; we could enter the term "Commercial Use" to see which licenses allow us to use the work in commercial projects. As far as I can see, MIT and GPL-3 licenses allow people to use the work for commercial projects for free - but don't forget about other terms!

However, if you want to use an item sold on the Envato network, say, a WordPress options panel for your theme from CodeCanyon, the extended license rights are explained already in plain English. To summarize: You can use stuff for commercial use, if you pay for the Extended license. You can read more about Envato's approach on license in the Envato Knowledgebase.

Personally, I think I'm going to buy an extended license for an options panel (and maybe some shortcode plugin) from CodeCanyon and use a neat slider and background patterns that are licensed under MIT or GPL3. You should think about it, too: What would slow you down if you want to design or code it yourself? Remember: If you overwhelm yourself with loads of work, you might even think about giving up; but if you outsource too much, you might have a hard time because of overspending or you might get confused because you need to learn every bit of the code/design you use.

Step 4 Let's Get Designing!

I have to back down a little bit here: No matter what I say or no matter how great you code your theme, great design is always the best dealmaker. A theme could be breaking apart in IE9 or it could have the worst options panel ever made but it could be sold if it's easy on the eye, it could be purchased by hundreds of people. I'm not encouraging you to disregard everything other than design - I'm telling you that even if you code an awesome theme, you'll still have to make your theme look good in order to sell it.

Notice that I didn't say anything on how you should design a theme. Because I can't. Nobody can tell you how to design - in fact, it could be better if you ignore people who claims to know what kind of design looks better. This is not a problem with just one correct answer: Your design could be the most unusual design ever made, yet it could also be the top selling item on ThemeForest.

Plus, if you have a design that stands out over other themes in the same category, you might have some great competitive advantage. Don't go crazy, though: People like change but might resist on a revolutionary design.

Step 5 Getting Your Hands Dirty With Coding

I always hate the "coding" phase; but when I finish and see my code working, that gives me one of the best feelings that I can get from a computer screen.

Needless to say, you should code clean, and that means sticking with the WordPress Coding Standards. You could also refer to the "Theme Development" page on the WordPress Codex for further information.

Since this is a roadmap and not a step-by-step tutorial on theme creation, I shouldn't tell you how to code except further than reminding the coding standards. But I can tell you where to code:

  1. Sublime Text: I think it's one of the most favored code editors available for web developers. It has of course syntax highlighting, it's pretty fast, it allows you to control your entire project... and best of all, there's a free course at Tuts+ Premium for Sublime Text 2 by Jeffrey Way!
  2. Notepad++: This is my favorite code editor and I've been using this open source program for at least 3 years. It doesn't offer much functionality like Sublime Text, and it lacks the "good looks" of Sublime Text, but it's a fast code editor which could even be a replacement for the classic Notepad of Windows. It can also be extended with plugins.
  3. Brackets: Being developed and maintained by Adobe, this new code editor has some very interesting features like "instant preview" on your browser, without the need for reloading every time you edit the code. Jeffrey Way has a video review for this tool, too. It's called A Peek at Brackets.

Other than that, you should also check the general file preparation guidelines in the Envato Knowledgebase.

Then you submit your work. Congratulations!

Step 6 Keeping Up the Good Work

Publishing a theme doesn't mean that you'll just wait for the money to roll in after the theme gets listed. You have to take care of everything you've submitted in order to continue earning from them. If you don't, your sales will eventually stop.

You have to provide at least a decent level of support and update the theme when new versions of WordPress are released. ThemeForest has the comments section for each theme which can be a good option to get feedback and provide support, but you can open up a "support forum" on your website in order to provide better support. Plus, some users might help each other there.

Implementing new design trends and updating outsourced utilities might be good for competition, too. For example: If you have a slider that needs to be updated, update it with your new version. Or, if a new design trend emerges (like "responsive design" emerged earlier this year), update your theme to be compatible with that trend to attract users who follow these kinds of trends.


I tried to think of the steps to take while creating a new WordPress theme for ThemeForest. If you have anything to add, please share your comments below. Thanks for reading!

Looking for something to help kick start your next project?