So far I have gone over a lot of the basic requirements for putting together a WordPress theme. Some stuff is pretty simple and other stuff might take a bit more time for you to wrap your head around. All in all, if you follow these tutorials you will be on the right track to completing your first customizable theme for WordPress.
During my WordCamp presentation, people asked me about getting their themes out there. I think the best way to discuss this is to tell you exactly how I did it, since it seemed to work for me.
I started working with WordPress about 5 years ago. I released my first free theme back in 2008. It was Magazine Basic. I tried to develop a theme that had multiple easy-to-use options so users could configure it to their liking and could each create something unique. As of today, it has been downloaded 143,114 times from the WordPress.org theme directory. Within the first week of its release, it had so many downloads that I wanted to release another theme. So I did.
Before I knew it, I had a lot of requests for extra features, so I thought, “Why not see if I could sell some premium versions with as many extra features as possible?” Of course, I didn’t want to go overboard, so I developed some theme options that I thought would please a multitude of users. That’s when I started Themes by bavotasan.com.
There is no sure fire way to make money selling Premium WordPress Themes, but there are certain steps you can take that might help you cash in on the demand for high quality themes. Building a great theme and giving it away for free by including it in the WordPress.org directory is the first step into making a name for yourself in the community. People who use WordPress are very big on the fact that it’s free and open source. So give them something free and open source as well.
The better your theme, the more people will download it. Once your theme gets downloaded a few times, you will see that users will start to email you with questions about bugs, features they would like to see, and both positive and negative feedback on your work. These are all great things. The open discussion with your end user is invaluable. The information you gather will help point you in the right direction for how you should develop your theme on the next level: The Premium Theme level.
Premium Themes usually offer more control over every aspect of customization. They can have higher quality designs, multiple skins, different layouts and any other options you can imagine. Users expect something more from a Premium Theme and what better way to find out what that is exactly than by keeping an open communication with people that have already downloaded your free product?
Take a look at what other Premium Theme sites are offering by going to http://wordpress.org/extend/themes/commercial/. That is the WordPress.org commercial theme listing page. Once you release your themes, getting your site listed on this page is a must. But you need to follow the guidelines from part 1 to a tee in order to qualify. Once you are listed on this page, people will check you out. Whether they buy your product or not will all depend on its quality and features.
I had some questions about making your theme translation ready during my presentation, so that is obviously something that people are interested in. WordPress has a codex page dedicated to making your theme or plugin ready for internationalization. Read it at http://codex.wordpress.org/I18n_for_WordPress_Developers. Once you have prepared your files using the gettext libraries, you can create a .po file using this great online resource: http://www.icanlocalize.com/tools/php_scanner. Create a
languages folder in your theme and place your .po file in it. Then use the following code in your
// Make theme available for translation // Translations can be filed in the /languages/ directory load_theme_textdomain('theme_name', TEMPLATEPATH . '/languages'); $locale = get_locale(); $locale_file = TEMPLATEPATH . "/languages/$locale.php"; if ( is_readable( $locale_file ) ) require_once( $locale_file );
theme_name with the string you used in the gettext statements; it should be the name of your theme in lowercase with no spaces.
Putting together a demos site with the latest version of your themes allows users to test them out in a live environment. This is absolutely one of the best ways to promote your products. I am currently rebuilding my demo site using the WordPress 3.0 multi-site feature. Now each of my themes will be demoed on their own site, which means I can make sure that their greatest features are front and center, and I can customize my content to show where each theme stands out.
If you don’t support your themes, no one will want to use them because they won’t be able to rely on you for fixing bugs, upgrading as WordPress upgrades and day to day questions about how your theme works. Whether you do this through email, the WordPress.org forum or your own site, it doesn’t matter. Just as long as you do it. This help builds confidence in your users to try out other products you have developed. I spend a lot of time in my support forum responding to questions, and more often then not, things come up that I would have never thought of. Different ways to use my themes, simple features that might blow people away, or even just bugs that might only occur for 1% of my user base. I need to know this stuff. It helps to understand my customers, and in turn build better themes.
There are probably tons of things I might have missed along the way, but I think these tutorials will really get you moving in the right direction. If you have any questions, or feel like I didn’t go into enough detail about something, please let me know. I’ll do my best to keep things updated and will add in anything that you might think is necessary (or maybe I’ll save that for the book, wink-wink).