SitePoint Podcast #76: Wicked WordPress Themes

Share this article

Episode 76 of The SitePoint Podcast is now available! This week, Brad Williams (@williamsba) interviews Allan Cole and Jeffrey Way, two of the four authors of SitePoint’s new book, Build Your Own Wicked WordPress Themes.

Download this Episode

You can also download this episode as a standalone MP3 file. Here’s the link:

  • SitePoint Podcast #76: Wicked WordPress Themes with Allan Cole and Jeffrey Way (MP3, 1:01:41, 56.5MB)

Interview Transcript

Brad: August 27, 2010. We’re talking WordPress themes—creating, planning, frameworks, GPL, selling, and more! I’m Brad Williams and this is SitePoint Podcast #76: Wicked WordPress Themes with Allan Cole and Jeffrey Way.

And welcome everybody to the SitePoint Podcast, I’m your host Brad Williams and today I’m flying this plane solo, so strap yourself in and get ready for a fun and possibly bumpy ride. And today I’m actually joined by Allan Cole and Jeffrey Way, two of the four authors of the latest book, Build Your Own Wicked WordPress Themes. Allan Cole is the owner of Fthrwght, a Brooklyn New York based development and design company, and Jeffrey Way works for Envato managing the code marketplace called CodeCanyon, and runs a very popular WebDev tutorial site Nettuts+. Welcome to the show guys!

Jeffrey: Hey Brad.

Allan: Hey, how’s it going Brad?

Brad: Great, real good. So before we get into some of the WordPress topics that everyone’s dying to hear about, let’s talk a little bit about how this book came to be. I’m always interested, being an author myself, about how people really kind of get started in having a book published and writing about something they’re passionate about. So how did you guys both become involved in this project in the first place?

Jeffrey: Well, at least for me it actually kind of fell into my lap, I didn’t even have to look for it. I was contacted by Andrew Tetlaw; I think he’s moved on from SitePoint now, but no I guess he was familiar with me through which is a hugely popular theme marketplace, and he emailed me about contributing maybe a couple chapters for actually taking a finished WordPress theme and profiting from it, and you know that’s what I specialize in, running ThemeForest is determining what kind of themes sell and then what themes don’t, and kind of figuring out what is different about this theme as compared to that one. So, he kind of contacted me and I was very interested in it, and I’ve always been impressed by SitePoint and, you know, that’s the extent of it.

Brad: So what about you Allan?

Allan: Louis Simoneau emailed me shortly after I did a WordCamp in San Francisco, and he just contacted me about contributing a few chapters to a SitePoint book and I was definitely interested, and so it’s not too much different I from what happened with Jeffrey where it kind of fell in my lap I guess.

Brad: Now have either of you had experience writing a book prior to this, or was this the first writing endeavor?

Jeffrey: I do some writing for Envato’s publishing branch which is called, so I’ve written a Photoshop book and I have a book on coding for Tumblr coming out actually in the next couple of weeks. So, yeah, I’ve done that and in addition to running Nettuts where I’m writing these big tutorials every week so, no, I felt pretty comfortable with it.

Allan: Yeah, I haven’t actually done too much writing outside of just the stuff that I blogged about on one of my other WordPress sites, but yeah, nothing too crazy other than mostly just explaining code and explaining how things work and how themes work just through the blog outlet, but that’s really been about it. So this was definitely an interesting challenge for me, but it was a great experience for sure.

Brad: I’ll bet. Now that it’s all said and done would you do it again?

Allan: Oh, surely, surely. Like it was actually, you know, you kind of learn a lot, you’re basically kind of pulling out stuff that’s kind of already in your brain, and so it makes — I feel like I’ve definitely gotten a little bit sharper with a lot of the coding stuff that I ended up talking about in the book itself. So, yeah, just off of the learning experience I think it’s a great thing that I’d definitely love to do again.

Jeffrey: Yeah, absolutely. The greatest thing about writing is that when you have to do it, it forces you to understand what you’re teaching perfectly so you can’t get away with any of that, you know, like “oh this is kind of how it works.”

Brad: (Laughs)

Jeffrey: Or “Here’s the basic idea behind it”; it forces you to know it works because of this, this is what’s happening, and so that’s my favorite thing about writing because you really have to dig in and sink your teeth into some of these concepts and totally understand them, so it’s kind of a learning process yourself when you have to write the book.

Brad: Yeah, using little pieces, hacked pieces of code here and there you just can’t get away with when it’s published material.

Jeffrey: No, you have to dig in. (Laughter)

Brad: Absolutely. So the book’s broken up into eight chapters, and the first one is Introducing WordPress, so why don’t we do that, let’s just dive right into what is WordPress and why should web designers and developers look at WordPress if they’re not currently using it.

Jeffrey: I think basically the biggest reason is because it’s so huge. You know, that seems a little silly but why would you choose a certain framework or a library that doesn’t have huge adoption rate, you know, that would be my main reason for recommending even like in JavaScript a library like jQuery over some of the others is because it’s so much larger the user base is going to be bigger, and that means education is going to be much larger. So you have a larger community, you can learn more from them. That would be my number one reason for recommending WordPress above everything else besides the fact that it’s developed by so many people; just the fact that it’s become so big is a huge reason to choose it.

Allan: Yeah, just to piggyback on that like, it’s huge, it’s a gigantic community, and it’s a great community too, like the people that you meet online and offline that are really involved with WordPress it’s generally like a really good experience like from the WordCamp’s to the various meet-ups that go on all over the world, it’s just a great experience and a great way to learn how to publish yourself and others on the Web. Yeah, so that’s always been my main reason for kind of gravitating towards it, especially in the beginning, like just the huge community of people who — sometimes a little bit tough to get help, but it’s there and if you stick with it you can get to what you need to know. And so, yeah, that part of it is essential for me at least.

Brad: Yeah, just to kind of put a number to that, I mean WordPress 3.0 came out June 17th, so just over two months ago, and it’s already been downloaded over 13 million times which is insane because I believe 2.9, the previous version, wasn’t downloaded that many times already, so it’s already smashed through that within like a few months. So, you’re right, it’s certainly monstrous right now which is great because there’s a vibrant community, there’s great resources like this book out there, and I think that’s only helping WordPress get more popular.

So we understand WordPress is big, everybody loves it, so what advantages does a platform like WordPress have for designers and developers, people out there looking to make a living using WordPress or some other platform? What advantages would WordPress have maybe over the competition?

Jeffrey: You want to go first Allan?

Allan: Sure, well for me when I first started using WordPress I was just coming in mostly as a designer, a front-end designer, I did it— In school I mostly did print design and then when I got out of school I did a lot of, you know, it’s a little bit easier to find jobs that were related to web because it was still fairly, and it is still fairly kind of a new industry. And so when I first got into it just the ease of use I think was the most gravitating thing, outside of the community, or the big support community that’s out there. Just the ease of use and the ease of developing themes, and not really having to deal with too much code. Like for me, you know, coming from a more print background initially I didn’t really want to jump into learning PHP and complex functions and stuff like that; like that wasn’t of interest to me. I knew HTML and I knew CSS, and so I wanted to have something that just gave me the bare minimums, did it well, and then allowed me to expand on it and build on top of it, and WordPress just creates a great platform for doing that.

Jeffrey: Yeah, I’d have to agree. Everyone knows that feeling when you first started working with WordPress where you start building your theme and you realize with 20 lines of code you’ve already built a working theme, it may not look pretty but it works, and that’s such a great feeling when you put 10, 20 lines down and then somehow you already have an index page and you can display full posts, when you know normally by hand you’d have to do pages and pages worth of coding, so that’s such a great feeling. And then the Codex, the documentation’s just insane for WordPress. And you know, again, that’s such a huge thing, and I think a lot of frameworks they don’t take that seriously enough, you know the same thing’s true for, as I said before, with jQuery or even a CodeIgniter or a PHP framework, the documentation is insanely good, and that’s the number one reason why I would choose that over anything else is because with other ones if you don’t exactly know what you’re doing, which none of us do at first, you don’t really have anywhere to turn, but with that Codex it has just every single entry you could ask for.

Brad: And you mentioned creating themes, so why don’t we kind of break it down: what exactly is a theme in WordPress and how does it work exactly?

Jeffrey: A theme is just basically the visuals, how it looks, the way it’s laid out; WordPress is the framework, obviously that takes care of all the backend work of the database access and all of that, and the theme is just the visuals, and that’s what’s great about it is it’s completely separate from the framework, so anyone who knows WordPress knows directly from the dashboard you can easily switch between themes because they’re not dependant upon any specific unique code, it all hooks into WordPress’ function and filters.

Brad: Alright, now that we know we want to use WordPress, everybody uses it, everybody loves it, let’s talk about planning your theme, your first theme. So what advice, and this question actually comes from Andrea Rennick of; what advice would you give to someone looking to design their own themes? Where should they start?

Allan: I always feel like it generally just starts with an idea, and that idea can take a number of different forms, and it is largely based in what you’d like to, I guess, contribute to the Web community, or either your community of network of folks who you’d like to visit the site, or for new folks who might not have any idea who you are but you may have something interesting to contribute. And I think it just starts there, just kind of understanding what you’d like to contribute and put out into the Web or the world really. And then from there there’s just kind of an approach like for me coming from design I’m kind of always backing my, you know, like the many concepts to — just backing them up with design. And so figuring out a way to take what you’d like to contribute and figuring out a way to make that interesting and easy for people to access. And that’s where I think the theming part of it comes in where you are, you know, once you have your idea of what you’d like to contribute or put out into the world using a theme to make that process of on one end you contributing that concept and using the theme to make that part of it easy, and then also on the other end using the theme to make it easy for folks to come in and also absorb that content or that thing that you’d like to contribute. So I generally would start there just figuring out what you would like to talk about or if it’s a client thing what they’re interested in and putting out into the world informing people about. And from there I think the rest just kind of falls in place, the ideas of all of the smaller details of interface and stuff like that just kind of fall into place once you have a good solid idea that you think people will gravitate towards.

Brad: Jeffrey do you want to add anything to that?

Jeffrey: Sure, sure. You know it really just depends on what they’re hoping to get out of it. As Allan said, if you’re building a blog for yourself then you need to figure out what’s your voice, what are you focusing on, how are you going to be different from somebody else? Now if we’re talking about just building your first theme, getting started with WordPress, how would you go about that; I would say pick up our book or just do a Google search for building your first WordPress theme. You wouldn’t believe, there’s dozens upon dozens, I’ve written some myself, you know, building your first WordPress theme I’d say don’t worry about, you know, maybe don’t even worry about the design at all, just figure out exactly what the core functions are, what is the WordPress loop, how does that fit into your code. And you know just take it piece by piece, that’s my big thing that I focus on a lot is stripping out everything that’s not important. So if you’re trying to learn WordPress strip out the JavaScript, strip out the CSS, and just figure out exactly what that one or two or three lines of code do. And then slowly add a little bit more and learn about all the different template files available with WordPress, and then learn about more maybe working with archive pages or creating your own options panels, and then just keep learning more and more, and then eventually you can begin building themes for profit.

Brad: Yeah, now, would either of you recommend starting with say a free or premium theme as kind of a base, or do you think that a new designer or developer getting into WordPress should just open up Notepad and start from scratch? I mean what’s the better starting point for someone who’s just getting involved?

Allan: For me it’s been a lot easier just kind of looking at other people’s code. I think almost the first, actually I don’t even remember the name of the first theme I think that I tweaked; it was one of Ian Stewart’s of ThemeShaper, it was one of his earlier themes, and yeah, just basically cracked it open, looked at the code, figured out what things were generated, because at this point I had no idea what PHP really was, and so I basically just figured out where the — what was generating the HTML and how to change that with the style sheet that was there within the theme file. It’s very much kind of a — I always tell people to get messy and kind of make mistakes and kind of break things a little bit just so you know your way around. Like once you break something and crash your site you’ll know never to do that one thing again, you know. and it’s kind of a thing where you can kind of look at what’s already there and kind of piece together where it fits in with what you’d like to do. Because there’s so many different types of themes that do so many different types of things you can kind of find themes that are fairly similar to what you’d like to do, and take that and then either build on it or strip out the things you don’t need to make it your own. And that’s essentially how I’ve learned most of it myself, and then once you start to come up with ideas that aren’t already out there then you’ll more or less know your way around so you can start to ask the right questions to get the right answers on how to do things that haven’t been done just yet. But, yeah, I definitely suggest just building off of either I think, theme, what is it, Thematic is a really popular one that I use for a lot of my sites, it’s actually a theme framework. Another one is Starkers which is a base theme that’s, I forget the name of the guy who coded that one, but it’s called Starkers and it’s just a very base theme, it doesn’t have any styling or anything other than like the basics, and it just has clean good HTML markup, and you can use that to just kind of play with things and break things and get it to do what you want.

Jeffrey: Yeah, I think I learned about the first Starkers theme from I think Chris Coyier, if you guys know him over at CSS-Tricks, he did a big series on converting a PSD to WordPress, those are so popular. And he kind of introduced Starkers which is just a completely naked theme for WordPress, and that would be what I would recommend because it has everything you need and nothing else so you can just break it down to little chunks, as I said before, and you know then begin to build on and figure out, you know as Allan said, break it and then figure out what doesn’t work and then what not to do again, I think that’s really good advice.

Brad: Yeah, absolutely, and Allan I think you mentioned as a perfect segue into the next topic which is theme frameworks, and I know if you ever mention theme frameworks to someone who is not familiar with what they are it sounds a little intimidating, so why don’t we explain that. What is a theme framework and how does it differ from a standard WordPress theme?

Allan: A theme framework is essentially a souped-up parent theme. And what that means as far as WordPress is concerned inside of your theme folder you have your parent theme or framework which will have all of your main code, and there are all of your template files, your main functions, it’s essentially just the core of your WordPress theme. And what you can do with it when you use it as a framework you use it in relation to a child theme which basically you use to build off of the parent framework theme. And what that allows you to do is to make a very dynamic and in some cases complex changes to the framework theme without actually editing the theme files themselves. The advantage of doing it that way is as WordPress gets updated and even the theme gets updated you don’t lose those changes. Generally if you take a theme and you tweak it directly, and let’s say you worked on it for two months and then that theme gets an upgrade that adds a bunch of new functionality, when you go to do that upgrade you basically lose all of your changes, which sucks a lot (laughs), it’s never a good thing when you spend a long time on something and then you go to make an upgrade and all of your changes are gone. And so using this framework model you can basically use the child theme to basically make all of your changes, so your changes are more or less compiled into the child theme, and then the parent theme more or less stays the same so it can withstand upgrades and changes and improvements along with WordPress while you’re styling and, you know, your custom functionality all exists within the child theme separately so that you don’t lose changes. And there are a number of different actual implementations of it, I kind of mentioned them both, and just to kind of clarify really any theme can be a parent theme, meaning you can build a child theme off of any theme, so any theme that you have may have updates or anything, you should just out of the box when you’re ready to tweak it start it off as a child theme. When it comes to frameworks, which is kind of separate deal, frameworks are more or less kind of a, and like I said earlier, a souped-up version of a parent theme that’s just more or less built with custom coding to allow you to do a lot more with your child theme then what you’d be able to do with a generic parent theme. But, yeah, I think they’re really powerful, I use them for all of my client-based work and even some of the themes that I sell are all based on — are all child themes that are built on top of the framework. And, yeah, I think it’s just a really great way to develop, it’s super fast, it makes the whole development process really fast because you don’t have to repeat nearly as much code as you normally would if you had to go back and basically kind of copy and paste code throughout different template files, you don’t have to worry about a lot of that with the child theme framework relationship because the themes are so much more, or because most of the coding is already handled for you, and so any changes you want to make you just do in the child theme and it just kind of changes the framework theme in a way that makes it very expandable. So, yeah, I love them, I use them all the time. That was really longwinded huh?


Brad: It’s certainly a topic that requires some detail because there are a few things going on versus a standard theme. And so I guess this goes back to what we were talking about a little bit ago which is if somebody is just getting into WordPress theming and creating designs for WordPress, does it make sense to dive right into kind of a standard or traditional theme or should they start out looking at these theme frameworks and maybe find a framework they’re comfortable with and then just kind of master it inside and out? What makes sense for kind of the newbie in the WordPress theming world?

Jeffrey: I think it’s the same for every language, never start a language and immediately jump into a framework; you need to learn the fundamentals, the basics. So personally would I recommend somebody jump into, for instance, the thematic framework? No, I would tell them learn exactly how WordPress works, learn about the loop, learn about all the various kinks of working with WordPress and then maybe even a year, maybe more, after you’ve worked with it then jump onto a framework because you know I would never recommend somebody use a framework without understanding, at least as much as they can, understanding a little bit of what’s going on underneath. The same is true for a PHP framework, for a JavaScript library, I think for a JavaScript library you need to know how JavaScript works, you don’t want to just jump in because then when something breaks it could be just a standard language specific issue that you don’t understand so, no, I would say learn WordPress first. But then definitely then move up, and then at the point when it becomes more about how can I work quickest then jump into a framework like Thematic or there’s a handful of them, I think there’s about a dozen, and then it becomes more of an issue of how can I work as quick as possible, how can I do these freelance projects, or if you’re a theme designer maybe for ThemeForest how can I develop these themes as quickly as possible yet definitely use a framework.

Allan: Yeah, I’d like to add a little bit to that. Like the speed I guess is a thing that you really can only utilize the speed that using a framework offers when you understand what’s going on. Like the whole thing about the framework is that it allows you to — it more or less kind of allows you to kind of create shortcuts to doing things that you normally have to do over and over and over again. But, if you don’t understand that the thing that you’re changing, or if you don’t understand how the thing that you’re changing is being utilized by the framework then you won’t really be able to take advantage of the speed, and so you’ll end up not really learning much and generally the child theme might not come out too great. But, yeah, I think it’s definitely a thing that you definitely have to know the basics just so you can take advantage of all of the cool stuff that frameworks allow you to do.

Brad: Yeah, and your book actually features an entire chapter dedicated to theme frameworks which I thought was a really good chapter, it’s very detailed, and you even go into a working example of making a child theme for Thematic. So certainly anybody looking to kind of dive in and really get a true understanding and grasp of theme frameworks and developing child themes versus parent themes, you know, that chapter’s probably worth the price of the book alone, so I would certainly recommend that.

So moving on, this is another topic that is always a good debate and one that I’m a little passionate about, and that’s theme options. And a lot of people think, oh, theme options, you know, the more options the better. Well, I shouldn’t say a lot of people, some people think that, more options the better; some people think less options the better. So I guess my question is where do you guys stand on that? What do you think about theme options, like how many options are too much and at what point should some of these options maybe exist in a plugin versus a theme? So maybe you can both touch on that.

Jeffrey: I think it really just depends on the project, you know; that’s a big question. If you’re building a basic theme options page I wouldn’t do too many, cover the basics, yeah, that’s a tough one. One of the cool things that are coming out now are people are creating these theme options pages that are dynamic, so they implement some JavaScript where you can create your own keys and values, that way you’re not dependant upon some predefined value within the theme options page, you can create your own. So, if you use like the get_option function you can choose the keys that you want and the values that you want to apply to that. So at that point maybe the length becomes a little bit moot because it can be as extensible or as minimal as you want it to be. So that’s kind of what I’m excited about, I’m actually working on something like that myself; I know the company I work for our head dev, Derek, he’s working on something very similar to that called Option Tree, so I think you’re going to see that especially over the next year or so really become a big thing in the community are these dynamic options pages.

Allan: Yeah, I think that actually sounds really cool. I would love to check some of that out. I was going to say that when it comes to options it’s definitely one of those things where you kind of need to consider who’s going to be using your theme, or who’s really going to be using those options. If it’s a framework or something like that where the developers are generally your end user then your options page will look completely different than if it’s like for a consumer type of thing where everybody is going to be using this theme to do everything, then you’ll have to completely different looking options pages because there’s things that are relevant for a developer to want to go in and change quickly through options, and then there’s things that your average user who just wants to start a blog about dogs or something (laughter), you know, their options page would look completely different. And so that has had a major, or will have a major effect on what things you’d like your users to be able to change through the theme itself.

Brad: Sure, OK. So are there any options that you feel like should exist in every theme out there? Obviously not every theme has an options page, but are there a set of options that you feel strongly should exist in every theme, or is just like you said kind of a case by case basis depending on the theme and who that client is going to be?

Allan: It’s a little bit easier to, yeah; I would say it’s probably a little bit easier to basically not repeat options that are already built into WordPress. A lot of times when some themes that I’ve used before you’ll see things there that are already built into WordPress it’s just that the theme has its own way of doing it. In general sometimes it’s appropriate but in most cases it really isn’t. A lot of times what happens is once your end users get it if they know how to do one particular thing but then when they go to do that thing in the theme and there’s a separate option that does that same thing then they’re confused and it appears that the theme doesn’t work. And so I generally like to, as long as the options aren’t repeated with WordPress or with functionality that you can maybe have WordPress do with its built-in functions, I would try to stay away from doing that. And I find that in general the learning curve is a lot better when there’re less options that have to do with things that are already in WordPress because you know you’ll have users who can generally get their support from the generic WordPress outlets as opposed to just going to your support forums and finding out about it that way; it kind of opens up the support for it to be a lot easier and for people to have access to it. So I’m not sure I would say that there are options that definitely need to be in WordPress, but there are ones that I think can be — that don’t need to be repeated, if that makes sense.

Jeffrey: Yeah, I think Allan really nailed it; it really comes down to the end user. So if your end user’s going to be a developer or somebody who’s comfortable maybe with the WordPress Codex or researching functions then you have a little more flexibility with them. But what I found in my case is usually the people I’m developing for I have to record video tutorials for them just to show them here’s how to create a post, here’s how to edit a post, here’s how to create a page, here’s the difference between a page and a post; you know, for them, so you need to be much more hand-holding with them. So, what they’re going to be wanting is whatever it is can be accomplished they’re going to be wanting things like how do I change my logo or how do I change my background or just those kinds of things, how do I add a banner image here. So in those cases I’d say make it as easy as possible for them even if it can be accomplished elsewhere just throw it all in there and make it, you know, treat them like they’re a three year old and they’ll thank you for it.

Brad: Absolutely, and I think a perfect example of kind of not reinventing the wheel is the new menu management system that shipped with WordPress 3.0, and I know a lot of themes out there have over the years built their own menu management system because it was an obvious issue that needed to be addressed, their users and client base wanted some easy way to handle menus. Now it’s a part of core so I would expect to see those options eventually being removed, so there’s really no point in competing with the core of WordPress, like you said, so I think that’s a great point.

Jeffrey: Absolutely.

Brad: So let’s talk about money. Everybody here, everybody listening, likes money I hope; I know I do. And a lot of people are going to sit in selling their designs, and WordPress is no different. So I’ve made this awesome theme that’s going to make me millions of dollars and now I want to go about selling it, so what are some of the things I should consider first prior to just throwing it up on the Internet with a price tag? What are some of the topics or issues I should think about before I do that?

Jeffrey: I think you need to think about exactly what you want to do. So if you just want to, you know, you’ve developed a theme and you’re like, hey, maybe I can make a couple bucks, that’s going to be a very different process then if you have been doing this a couple years and you decide, okay, I’m going to build WordPress themes full time. And that’s fully achievable; you would be surprised that the marketplace I ran, ThemeForest, we had guys literally making four and five figures every single month, way more than me, it’s insane the potential for WordPress themes right now. So you have to first decide what am I going to do, and then you have to really invest your time in it. So this isn’t kind of an industry anymore where you can spend a day on a theme, upload it to a marketplace or sell it on your own site and expect to make some money. You might make a sale or two but that’s not where the money’s going to come in, the guys that really make the money here are the guys that it’s a full-time job for them. I reference that in the book a few times, it’s a full, full-time job, so they’re marketing, they’re building the theme, they are selling it on their own site, they’re buying banners, they are creating video tutorials, they’re creating regular WordPress tutorials to promote their name. This is what they do day in, day out, and I see it on Twitter everyday, these guys just don’t stop. And that is why they are so much more profitable than everyone else because it’s not just a little situation where you build a theme and you throw it out in cyberspace and you wait for the money to come in. And then you also have to think about how am I going to bring this money in, so are you going to sell it on your own sites? Well, if that’s the case fine, but then you have to think about how are you going to promote it, are you going to purchase banner ads, are you going to work with Google? And then you have to think how are you going to sell the theme; are you going to use PayPal? So there’s all these different variables that have nothing to do with building themes that you have to factor in. And so that’s why a marketplace like ThemeForest has just skyrocketed, we’re one of the most popular sites on the Web, it’s because it takes all of that out of the process. So rather than thinking of payment gateways and all that we take care of that for you, and then all you have to do is become an author, it’s free, you can then upload your WordPress theme, you can still market it yourself, but then you have a station to sell your portfolio and to advertise your portfolio. Because I know for me as a buyer, you know, if I’m Googling for some WordPress theme and I come to a guy’s website I don’t know how much I’m going to trust him if I don’t know him, it’s a random website. But if you can sell it on a reputable marketplace, whether it’s WooThemes or ThemeForest, or there’s a plethora of them, I think the buyer is going to be much more trusting. Plus, with marketplaces like that the buyer can be rest assured that these things have been reviewed and they meet a certain level, because otherwise you know as well as I do there are hundreds and hundreds of themes that are really low quality, and that’s fine, everyone’s on their way learning how to do this and we’re all trying to make money off of it, but by going with a marketplace you can really count on the fact that it’s going to be a very high quality theme.

Brad: Yeah, that’s great, and I think another important point that we should certainly talk about is the license in which you are going to sell your theme under. And I think everybody knows what’s coming next, and that’s everyone’s favorite three-letter acronym GPL.

Allan: GPL.

Brad: So it’s sad that when you say GPL it almost, anyone that’s familiar with the different debates that have gone back and forth, especially recently, it kind of sends a little bit of shiver down the backs of anybody trying to make money off of open source software. So why don’t we talk about GPL, let’s get it out of the way. So what is the GPL and how does it affect themes in WordPress?

Jeffrey: The GPL is, if you didn’t know what the GPL was a few months ago you do now probably after the huge Matt and Chris debate which was so much fun to listen to. The GPL is pretty much a license that says that WordPress is based on the GPL, and WordPress comes from a framework called B2, and that was based on GPL, so WordPress is; and that means that at the very least the PHP code that hooks into WordPress’ function filters needs to be GPL, so this created all of this controversy on is that true or not. That’s up to the lawyers, not me, but for at least in my sake I’m going to abide by that. So, the basic overview of GPL is if I sell you a theme, which is perfectly fine, I can sell you a theme for $30.00, but according to the GPL you must then be afforded that same freedom, quote-unquote, to sell that theme as well, so you cannot prohibit these freedoms. So that’s really, to break it down to a single sentence, you cannot restrict people’s freedoms. So you are free to charge $1,000.00 for a WordPress theme if you want, but the buyer of that theme technically can then if they want they can go on a torrent and redistribute it because they are then afforded that exact same freedom that you are.

Brad: Yeah, I think the word freedom I think when you hear ‘free’ that’s the biggest misconception about the GPL; when you hear free you think, oh, it’s free, I’m not allowed to sell something and it still be licensed under the GPL when it’s actually not true at all, you can sell it however you want. The free part has to do with freedom rather than the price tag, and I think it’s obviously confusing, but it’s certainly something everyone should, if you’re looking to make money off of themes or to work with WordPress at all, it’s definitely something you should understand. You want to protect yourself and make sure you don’t get into a situation where you are violating the WordPress license, so if you’re not familiar with it you should definitely read up on it, and it couldn’t be a more dry topic but it’s something you should do. And, you know, there’s kind of a second section of this I want to touch on, too, and that’s dual licensing, and this is where it gets even more interesting; dual licensing or split licensing, so maybe one of you guys can kind of talk on the difference between something that’s 100% GPL versus something that’s dual or split licensed.

Jeffrey: Sure. Okay, according to Matt himself, Matt Mullenweg himself, the PHP code that hooks into, as I said before, WordPress’ function and filters needs to be GPL; it’s dependant upon WordPress so if you were to strip out that PHP it would not function therefore it needs to be GPL. But that does not include other assets, so it doesn’t include your JavaScript; a WordPress framework can’t have any control over your custom JavaScript or for that matter your images or your CSS files. So, a dual licensing structure means any PHP code is going to be bound to the GPL. On the other hand any other assets, namely your CSS and JavaScript, you can if you want to you can use a proprietary license. So this is how marketplaces, many marketplaces function, it really depends on the marketplace. So, for example, I believe WooThemes is 100% GPL, so you can take their code, as I understand it, and do whatever you want with it. ThemeForest is dual licensing, so that means you cannot buy a WordPress theme and then upload it to RapidShare or whatever you want to do that’s rude, because they will send takedown notices, and we have the right to send these takedown notices is because, as I said before, these themes are sold with dual licensing and that’s perfectly fine. I believe after the big debate between Matt and Chris, Chris finally relented; correct me if I’m wrong but I think he relented and now they’re using a dual licensing structure for his work.

Brad: Yeah.

Allan: Yep.

Brad: Yeah, he is.

Jeffrey: Yeah, and that’s a simple idea is that WordPress has no control over your JavaScript and your CSS, so if you want to, and you have to first decide is this something I want to do. Many people would say it’s arguable that — Matt would say it even; going 100% GPL is the smartest solution because people will trust you more and you’ll make more money in the end. So it’s really up to you as a theme creator or as the listener to determine what you want your code to do. Do you want to abide by the GPL 100%? Do you want to completely disregard it like some people do and do a 100% proprietary license? I’d personally recommend against that but to each his own.

Brad: Yeah, I think it’s also important to note that will actually feature commercial theme websites as long as they are 100% GPL, which is obviously going to bring a lot of attention to your designs and your service that you’re selling, so it’s definitely a big decision but I think before you sell anything related to open source software I think the licensing around what you’re selling you need to make sure you understand it and you’re doing the right thing. So I’m on the same boat as you, Jeffrey, I think everything should be 100% GPL, I don’t think WordPress would exist if it wasn’t, but to each his own. And I actually have a question from the user ImTiedUp, and I’m not making that up, that’s his username, or hers.


Jeffrey: Nice.

Brad: They ask, “What do I do if I’m using a commercial product like WooCanvas or Genesis,” as their framework, so a theme framework, “because so much of the underlying code was written by their people I’ve always wondered if it was even okay to consider selling custom themes when I use other themes as my engine?”

Allan: Yeah, that’s perfectly fine. To take it back to Thematic, Ian actually sells his own themes on there, and initially I don’t think he was doing that, but as soon as I saw that that was available I didn’t even consider it. Like after developing a few child themes, just randomly a few of them, I was like, okay, this may be something that I can sell but it might be weird to sell because it’s a child theme, it has all of these extra files and all of this other stuff that might make it more complex or even harder to sell with the GPL and stuff like that. But once he put up his themes that he had on there I was like, okay, let me look into it a little bit more. I read up a few articles about it and, yeah, it pretty much just works like any regular theme it’s just that it just requires the parent theme to work like the way the GPL and everything else works it pretty much just ties in to how it would work if you were to do a theme from scratch, so, yeah.

Brad: And then one last point I wanted to kind of touch on, and this is a nice section in the Selling Your Themes chapter, and that’s that you’re not only selling your theme for WordPress, but there’s a lot of other things that are involved with selling a theme, and I think the primary one is support and probably a lot of people don’t think about this and what’s all involved with that. So maybe we can touch on some of these topics, or some of these items that kind of go along with selling a theme and things that people should think about and make sure they have everything set up prior to releasing that theme for sale. So what are some of the things other than support, we have documentation, so what else should people kind of think about before that’s kind of outside of the theme design but is more that goes along with it?

Jeffrey: Yeah, that’s a good point on support. I think a lot of theme designers first getting started don’t even think about that, is that support is easily maybe even more important than the theme itself, it’s extremely important. You know as developers or designers we forget that a lot of the people who are purchasing these themes don’t know anything about WordPress, they don’t even know what WordPress is, they’re just searching for something that looks pretty, so for them support is huge, you know. So for my marketplace that was something I recommended to authors so much is don’t underestimate the need for support, and a lot of people, you know, and that’s fine if they want to but they can sell a theme and it’s pretty much what you see is what you get, you have a problem, not my problem, you know (laughs). But that’s not really smart, and I can tell you from personal experience the guys who are the most profitable selling WordPress themes on the Web have amazing documentation, so it comes in the form of something as simple as personal emails to having full support forums, even to simple things like maybe if you send them an email they’ll have an auto-reply with a huge frequently asked questions thing for the people who maybe need to have something fixed immediately but don’t know what the problem is. So you can’t devalue the requirement of good support, good documentation, and things of that nature. Then you asked what other things are really important, anything and everything, you know. Things like as simple as color themes, people love color themes, so if you’re going to create a theme why not offer three different three different color themes, why not offer a dozen? Brandon, who contributed to this book, he’s a very, very popular theme designer and you can see with every single theme he launches he has at least a half a dozen to a dozen different color themes. It seems trivial because we know how to adapt it ourselves, but you’ve got to remember that other people don’t. So if you’re going to have red, blue, green, every color under the sun, it’s going to be way more appealing to just a common buyer than not having it. And then we talked about options panels, that’s kind of become the standard lately, I’ve noticed with all the popular themes they all have some kind of backend options panel, okay. Even, like I said, with support people can record video tutorials and things like that, that’s becoming so popular for the people that want a little more hands-on approach. What else? Maybe mobile themes, so, you know, if you look at the charts, the iPhone and Android, the mobile browsing is just skyrocketing right now. So if you can offer a theme and you can add it to your little checklist of selling points that if your theme also has it’s mobile optimized or it has a special style sheet, or what have you, that’s going to be another huge incentive for somebody to choose your theme over somebody else’s. And that’s the huge deal here is there’s thousands of themes on the Web, so what separates your theme from somebody else’s, and it’s all of the above: it’s color themes, it’s mobile browsing, it’s maybe custom fonts, it’s the PSDs, it’s the support, it’s the video tutorials, it’s everything you can think of to factor into it, so it’s like a little package, you know, so the bigger you can make this package the more people want to purchase it.

Allan: And then also another kind of really major one is pricing and how much things should cost and how much you think, or not really even how much you think, but how much you can maybe gauge people needing support and how much time that would take and how that might factor into your pricing. And then also, too, just the development of everything that you just mentioned, Jeffrey, the development and the time that it would take to put all of that together and then figuring out a price that is reflective of that, that’s fair, it won’t scare people away, but won’t seem too cheap to make it seem like the theme is worthless, you know. And that’s been kind of a major one that I’ve experienced on my end in a lot of different ways.

Jeffrey: Yeah, that’s a great point. I think on both ends of the spectrum if you’re selling your theme for $5.00, you know, you get what you pay for, so I think a lot of maybe younger people even think, okay, I’m going to sell this theme for five bucks and then if it sells 500 times I make 2,500 bucks, okay, well that’s not really the way it works. First, it’s probably not going to sell that much at the start until you’ve really built up a reputation, and second, people see through this, so people see a $5.00 theme and they think alright, you know what, if it’s $5.00 it’s going to be worth $5.00, but then on the other end of the spectrum you can’t expect, especially with WordPress themes for some reason, you’re not going to get $300.00 for a theme, it doesn’t matter if you put a hundred hours of work into it the simple fact is themes are selling right around the $30.00 to $70.00 range, and you know that’s just a fact of the matter. You know the same thing was true for the app store, the iPhone app store, is sort of all these apps came out and then all these $0.99 ones came out and there was — they all just kind of went skyrocketed, or the opposite of skyrocketed, they came down to $0.99 and they just killed the profits. So, you have to accept going in that you’re going to make roughly, roughly $20.00 to maybe $100.00 per theme. This can extend depending upon what you’re offering, so you can maybe get a little bit more if you’re going to be offering high-level support and things of that nature, but in general single one-offs, single licenses, you’re not going to get too much, but what you have to think more is rather than is this $40.00 theme worth my time you have to think about the compound effect of, okay, what’s $40.00 times 300 sales or a thousand sales, and then it becomes amazingly profitable, and that’s what a lot of theme designers around the Web are finding right now is don’t rip people off, you know, people want a good bargain, so accept that you’re going to make a decent amount per sale, but then once it sells 100 times you’re making a lot of money.

Brad: Yeah, these are all great points and certainly something anyone who’s looking to make any kind of money off of themes in WordPress definitely needs to consider, and the book does a great job kind of going into each one of these in detail, so, bravo guys, great job on that.

I have a few more questions here. We’re getting to the end; I can see the finish line, so you guys made it, congrats (laughter). I guess I have a couple of real specific questions to each of you because you both have pretty impressive resumes so I had a couple specific questions I wanted to throw your way. So I’ll start with you first, Allan, now you have some themes for sale which are really great, really awesome themes, so you have Basic Maths, which I didn’t even realize that was your theme until today, but I saw it when it launched, that’s an awesome theme. And you also have AutoFocus, and then is it Neutica Plus or Nautica plus?

Allan: Neutica.

Brad: Neutica Plus, and AutoFocus and Neutica are both Thematic child themes. So my first question is: is that going forward, are you going to stick with the child theme route and just kind of keep selling? And these are all paid themes except for AutoFocus which does have a free version, just to note, is that correct?

Allan: Yes, that’s correct.

Brad: Yeah, I was just curious; do you plan on sticking with the child themes? Because I know Basic Maths is not a child theme so I was curious what your plan going forward was.

Allan: Well, yeah, it’s been getting a little tough, like I still think people are more or less kind of new to the child theme, parent theme relationship, and what I’ve been finding is with the child theme, well, with the child themes that I do have that are out there some folks get it, you know, they have to install Thematic for it to work, and then a lot of folks don’t. And so I’ll get a lot of emails and support requests about the theme not working as soon as they put it in, but what happens is they generally just either didn’t read the instructions or missed the bit that’s right under the title that says it’s a child theme and that you need to install Thematic. And so that’s been a little problematic with things, but in general like for me the child theme route has been really just easy to develop for, and so just as far as the speed thing I think that I’ll continue to develop child themes, but I do think that the next run of themes that I’ll probably be doing will be more either framework or just kind of packaged parent themes that had basically all of the functionality that I end up using for the type of design and work that I do, and then just develop the child themes off of that. And how that all is going to be structured I’m not 100% sure on just yet, but I think it’ll kind of be a blend of both themes developed from scratch and then with a little bit of child themes stuff mixed in.

Brad: Yeah, and as I mentioned before, AutoFocus does have a free version, so I’m curious, and if you can divulge this information, but is there — have you noticed an increase in sales by not offering a free version of the other two themes or maybe vice versa, you have an increase of sales with AutoFocus because there is a free version?

Allan: To be honest I’m not really sure. I think that the people — most of the reason that I even kept the free version was more of a thing like the community that’s built around WordPress is just really great. Like initially even before this AutoFocus Plus theme there was this original one that’s just AutoFocus like that doesn’t have the Plus, and that one was on the theme site and it did pretty well there. And I had no idea, that was maybe my, I think, second or third theme that I developed, I was still learning stuff, but the feedback for it was really great. And so I kind of wanted it to be a situation where I wanted to kind of more or less give back to people who supported it and were there downloading it and then asking some core questions and offering suggestions and helping to improve it. And so the free version is more or less there just to kind of give back and not really lock out people who adopted the original version and then lock them out from getting some of the improvements of the child theme AutoFocus Plus version. And so, yeah, I just kind of wanted to keep that free just to cater to those folks. And then the Plus version has its own kind of headaches involved with developing it, and stuff like that, and so it also comes with a bunch of extra features; the development on it is going a lot further, I’ll be pushing it a lot further before the year is out, and so I wanted people to kind of get a lot more out of that one. But, yeah, I don’t think there’s really been too — I haven’t really been able to tell specifically if there’s been much of a difference. The Neutica is kind of in a similar situation in that it initially started out as a regular theme that was on that was just a regular; I think it was based off of Sandbox. And then this newer version is a Thematic child theme that doesn’t have a free version, and I don’t really think there’s too much of a difference as far as sales. I do know that the AutoFocus theme, you know, there were a lot more users that were originally using it, and so there were people looking for that one a little bit more, and so the sales are a little bit higher for that one just because it’s a little bit more popular. But I don’t really think there’s any too much of a correlation between having a free version versus a paid version of it, at least from what I’ve been able to notice.

Brad: Well, yeah, and if you haven’t checked out AutoFocus it’s a really slick kind of image-centric theme, and I love seeing themes that kind of do different things with WordPress that’s not the standard kind of blog layout or even the CMS layout which is almost getting standard at this point. And this is a great example of how you can kind of take your images and make them front and center, so it’s a really nice theme, definitely check that out, and we’ll certainly have links in the show notes.

Jeffrey I’ve got just a couple questions for you too. So you work at which is a pretty cool site, and one I wasn’t super familiar with. So it’s as I understand it you basically sell code, scripts, and snippets for all sorts of different languages. So I was wondering if you could explain how exactly does that work?

Jeffrey: Okay, sure. It’s, so the company I work for, Envato, we have two branches, so in one branch we educate people, so we have this big string of tutorial sites like if you’re familiar with psd.tutsplus or Nettuts, the one I run, or we have a huge number of them, AudioTuts; anyhow, on the other side we have our marketplaces, and this is where we help people sell digital goods for a range of things, video, audio, themes, in this case WordPress themes. So I ran for a long time and that’s what would appeal to the people listening to this podcast, is it’s where you can develop WordPress themes and then sell them and they make fantastic money. But then we decided at one point on ThemeForest we thought you know what, what if we sold scripts and components, and what if we sold like .NET components or PHP scripts. So maybe for two dollars somebody could buy a really cool Ajax contact form that’s really tested and cool and it’s cheap. So we launched that and it just skyrocketed and we realized, okay, you know what, we need to develop a whole marketplace for this because there’s obviously a huge community for it. Okay, so this is where CodeCanyon comes into play and so I moved over from ThemeForest over to CodeCanyon, that’s what I run now, and we sell components, scripts, snippets, everything you can think of, PHP, JavaScript, .NET plugins, so also people focus so much on premium WordPress themes that they forget that there’s a lot of money to be made with premium WordPress plugins, and that’s something that’s really seemingly beginning to take off right now. So, for example, we launched a — I don’t mean to advertise but it is applicable, we launched a premium WordPress plugins category and it’s going like crazy. For example, the best seller in the last couple months generated like $10,000.00 worth of gross sales, and this is for a plugin. So, maybe myself included at first kind of thought you know what, the plugin market’s kind of saturated right now, there really isn’t any money to be made there because there’s so much fantastic stuff. But what we’re finding out is that’s not really the case; you can find more niche-oriented plugins or more just really in depth plugins that you can’t find elsewhere, and then again you factor in the support, so somebody can get a plugin, they can pay, I don’t know, $20.00 for the plugin, and then they get free upgrades for life, of course, and then they get the free support, if they don’t know how to use it the author will give that to them for free. So that’s the basics of CodeCanyon, it’s a place where authors can sign up, for free of course, and then sell whatever they create whether it’s something as simple as a cool contact form up to a massive extension for WordPress or Expression Engine or Magento, anything you can think of.

Brad: Yeah, I was just going through the WordPress plugins list and there’s some pretty impressive ones on here, in fact, a few I’m going to have to check out like this calendar plugin (laughs).

Jeffrey: The Calendar plugin’s awesome.

Brad: That’s certainly a void that needed to be filled because unfortunately the calendar plugins out there aren’t the greatest so, yeah, this is really cool. And when I first saw it kind of researching for this show I made a note that I wanted to go through here and spend a bit of time to learn more about it. So definitely if you’re unfamiliar check that out. And then the last question for you, Jeffrey, is you also write for Nettuts+, which is a really, really popular web developer and designer kind of hub with some awesome tutorials. So I’m curious how you got started writing these great tutorials.

Jeffrey: I got started writing these tutorials years ago, and you know what, I was writing these tutorials that I had no business writing (laughs), you know unfortunately that turns out to be the case moreso than not where you’re reading tutorials on the Web and the truth is the author is probably just learning it and they’re like, hey, I learned this, I’m going to show other people. So that’s why Nettuts is awesome because we’re taking people that really know their stuff, so it’s by the way. So you take people that really know their stuff, and every single day we have a new tutorial. So the way I got started in it is a couple years ago I would just write these, or a few years ago maybe, God, time goes by so fast, I was writing these articles and I think it was on .NET because I was learning that at the time, and it’s amazing, it just seems like the community, the Web development community’s so huge; I would write a couple articles, maybe submit them to a few sites, that’s the way it worked back then, I’d submit them to and any of these aggregators you can think of, and I started getting all these page views. And I remember even the first time I got a couple thousand page views in a day I thought that was insane, you know. So I came across Envato and Collis and Sian who are the CEO’s, and I contacted them about writing for them and they were very open about it, they’re great people, and so I wrote a couple articles for them and I was very nice to them, and then they offered me the job of actually running the site. And I’ve been doing that ever since and the site’s just skyrocketed since then, we started with a good number, maybe 7,000 subscribers, and now we’re up to well over 70,000 after a couple years. And I love it because, like I said earlier in the show, when you have to write and teach people how to do stuff it forces you to really sit down and learn exactly what you’re doing, so I’ve learned so much in the last couple of years because of it.

Brad: That’s great. So before we go today why don’t you both tell us where you can be found online, websites, blogs, Twitter; why don’t we start with you Jeff?

Jeffrey: You can find me at,; on Twitter you can find me @nettuts, or you can visit my personal site at


Allan: Yeah, for me most of my WordPress themes are available on, but it’s a weird spelling, it’s fthrwght, it’s basically the word featherweight without any vowels. And the same goes for my Twitter handle, it’s just @fthrwght, you can follow me there, and then also my personal site is just

Brad: Great. Well, thank you guys both so much for being on today and taking time out to talk some WordPress and about your new book. Again, that was Jeffrey Way and Allen Cole, co-authors of Build Your Own Wicked WordPress Themes, it’s a new book from SitePoint and it can purchased on,, Barnes & Noble and wherever fine books are sold.

And that’s it for another episode of the SitePoint Podcast. You can follow me on Twitter @williamsba, and SitePoint @sitepointdotcom. Visit us at to leave comments on this show and to subscribe to receive every show automatically. The SitePoint Podcast is produced by Karn Broad, and I’m Brad Williams. Peace!

Theme music by Mike Mella.

Thanks for listening! Feel free to let us know how we’re doing, or to continue the discussion, using the comments field below.

Kevin YankKevin Yank
View Author

Kevin Yank is an accomplished web developer, speaker, trainer and author of Build Your Own Database Driven Website Using PHP & MySQL and Co-Author of Simply JavaScript and Everything You Know About CSS is Wrong! Kevin loves to share his wealth of knowledge and it didn't stop at books, he's also the course instructor to 3 online courses in web development. Currently Kevin is the Director of Front End Engineering at Culture Amp.

Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week
Loading form