An inside look into WordPress themes
Welcome to the very beginning of my new series of tutorials dedicated to building and maintaining WordPress themes. As of today, there have been several different ways to create your own themes, whether they’re built from scratch, built with a framework base, child theming, builder plugins, or starter themes, WordPress theme building has become a lot easier… or harder, depending on how you look at it.
I’ve already been working on opening this series for quite awhile now, but as life goes, time and motivation have always been both my friends and my enemies. I actually don’t know how I was going to approach this, as I’ve always been sharing what I learned to fellow hobbyist web designers/developers, and how I can share all this without being overly too advanced or complicated.
So, after a long time of thinking, I’ve decided a good approach in presenting this. I’ll do it in the order of skill level: beginners/hobbyists to professional/hardcore developers. Because of the level approach, here is the list in order:
- Parent themes (in addition to the default themes already installed along with WP)
- Child themes (may probably be in combination with Pre-made themes)
- Child themes (theme frameworks and builder plugins)
- Starter themes (may include builder plugins)
- Custom themes (everything from scratch)
I may probably combine the first two in one section on the list, but just for the sake of this introductory post, I decided to separate them. Below are some brief explanations of the items above.
1. Parent Themes
If you are a complete beginner of working with any CMS platform, or simply a complete beginner of WP, then this would be the first method that you would want to use. If you only wanted a blog or a simple portfolio site, you may want to use a pre-made theme (a formal, more familiar term is parent theme) ready and available for everyone to use. There are plenty of sources where you can find these themes, such as WP’s own Theme Directory, and many others.
Most of the parent themes out there are for free, but there are also premium themes that you can easily customize without knowledge of coding for a price. We will cover a section about pre-made themes right after this post.
2. Child Themes
If you are a beginner or a hobbyist web designer who has some familiar knowledge with HTML and CSS (and in some cases, a little bit of PHP), but completely overwhelmed with all of WP’s complicated templating system, your best bet is to use an available parent theme. However, when a parent theme releases an update, WP will override all of the necessary files in a theme. This means that, if you went for the first option (pre-made themes) and tweak the core files to your own customizations, those customizations will be overridden too.
WP has implemented a child theme method of theming in order to make your customizations from a pre-made theme without having them overridden by updates. We will cover more about child themes at a later time.
3. Child Themes (theme frameworks and builder plugins)
This is more of an extensive version of #2. Only this time, we will be covering WP theme frameworks and builder plugins. Theme frameworks are special themes or plugins that were created specifically for supercharging the child theme method. You can completely create a brand-new, fresh theme using the base frameworks or plugins without making it look like a “dressed up” version of the original base parent theme.
There are free theme frameworks, as well as premium ones. Because we are dealing with different tools, some theme frameworks and builder plugins will require a learning curve. Most theme frameworks and builder plugins are drag n’ drop and very little coding skills are required. Even if this is the case, creating a completely customized child theme using frameworks and builder plugins can also be tricky and confusing. You also get a chance to add your own custom codes easily if you need to add something that the framework doesn’t offer.
Right now, this is the method that I’m using to create my WP-powered sites, from personal side projects to client sites. There are two particular frameworks that I use (both premium), but when I do have the time to learn another one that’s for free, I’ll be sure to use that free framework so you all can follow along.
Mastering child themes using theme frameworks and builder plugins will also allow you to create your own special child themes and actually sell them for a pretty good hefty price. The most expensive child theme that I’ve seen so far costs about $200, and it is a magazine child theme based on the Divi Framework.
I don’t know when this step will be in fruition, but when I finally get to it, I’ll be sure to update.
4. Starter Themes
What the heck is a starter theme?
Starter themes are bare bones WP themes that have all the core functionalities of a standard WP parent theme, except they don’t have any specific styling or structure that would pass on as any default theme. They are a series of PHP files and other necessary files bundled up together with an empty CSS file.
Some WP development professionals refer starter themes as “hack and slash” themes. These types of themes are meant for you to hack and slash their files to your liking, and that you do not have to use the child theme method to make these themes work.
Using starter themes would be the closest thing to you creating your very first theme created from scratch. There are plenty of starter themes available out there, and unlike some parent themes, theme frameworks, and builder plugins that require purchase, all starter themes are available for free.
I’m currently learning how to build themes using starter themes, so this may take awhile to be released, once I get to it.
5. Custom Themes
Most WP theming courses have everyone starts at learning how to create custom themes. In addition, these theming courses have a prerequisite of you being a complete expert with HTML and CSS, with Javascript and PHP a plus. Because I’m doing this from a beginner/hobbyist approach, I’m doing this backwards.
The WP templating system, for any hobbyist web designer or developer, can be complicated, as they take the form of PHP tags. Most hobbyist web designers/developers I know of are not PHP or Javascript experts and learning the core code of how WP works, in general, can be very overwhelming.
When I finally get to this section, I will break this apart into small pieces. I have to admit that I’ve only created very few custom themes from scratch years ago, and even though I understood the steps, they can become overwhelming for me that I decided to take a bit of an easier approach (child themes).
This section will have a prerequisite, obviously. You need to be very knowledgeable with HTML and CSS. Having some knowledge of Javascript (for any special interactivity) and PHP (to have a better understanding of how the WP templating system and other functionalities work) can help too. Another prerequisite that I would like to require here is that you have already built your own ideal layout using plain HTML and CSS to make it a lot easier for you.
Creating custom themes isn’t just to make you become a true expert in WP theme development, but you can also have a chance to sell your services and your special works of art to the masses. A lot of WP theme developers make a lot of money just by creating and selling these themes to their own small online shops to bigger shops such as ThemeForest.
Just a few notes…
- This series of tutorials dedicated to WP theming only applies to the self-hosted WP sites. Sites hosted with their free service, WP.com, is not applicable to this, as users don’t have the ability to make heavy customizations on parent themes available.
- I would highly recommend you create your own local environment first before you get started with this series. I already put up a mini-tutorial about creating your own local environment in your computer. It’s better that you build your stuff without uploading them to your web server first, as you won’t have to deal with browser cache issues and other types of mistakes. You won’t have to put up an “Under Construction” notice on your home page either.
- It will also help if you start doing a bit of reading and research about WP. The WordPress Codex is the official documentation of WP, and it is a very comprehensive, extensive documentation that requires you to have some patience and a passion for reading. WP theme tutorials all over the net exist because the Codex can be very overwhelming for the beginner. I’m personally intimidated by the Codex too, but I always refer to it whenever I look up for basic information, such as a list of WP templates that are available for use in building themes.
- There are plenty of books about WP theming available out there if you prefer to read published books. Some are for free, most are on sale. I read a couple of WP eBooks myself when I can. I recommend The Tao of WordPress series of eBooks.
That’s it for now for an introductory post about WP themes. I hope you find this somewhat helpful and a bit of a hook for you to get interested and take this opportunity. For the time being, I’m currently working on my client site and will do what I can to squeeze some time to begin working on this tutorial.
Till next time!
August 23, 2017 @ 3:15 pm
That’s a lot of options for word press themes Starter themes sound more complex than the others but also really interesting
August 23, 2017 @ 6:47 pm
Starter themes are supposedly easier than building your own custom themes. It’s kind of like with Emmet in a way (if you remember my Emmet tutorial LOL). Starter themes already have the core coding stuff already available for you. You just need to add your own stuff (like your HTML and CSS) in them, and then add some templates that you can use that’s also not included.
The most popular starter theme so far is Underscores (http://underscores.me). You just go to their website, give your new theme a name, choose your options if you need to, and then it’ll generate you a zip file of your theme. Then from there, you can look in the generated theme, make your code stuff in them wherever needed and then just upload and activate it as any standard WordPress theme that has your name in it. Because starter themes are meant to be “hackable” by users and developers, credit will go to you rather than the people who built the starter theme in the first place.
Hope this makes more sense. 🙂
August 23, 2017 @ 8:34 pm
I need to give this a try! thanks for the link
August 23, 2017 @ 8:39 pm
No problem. Have fun with it! There are also other starter themes, with a few of them already supported by CSS frameworks like Bootstrap and Foundation, but still very basic. You still have to do all your HTML/CSS designing by yourself to make the theme more like it’s really yours. 😀
August 30, 2017 @ 11:56 pm
I’m going to probably start with a child theme or starter theme to work on mine and build up from there. I can’t remember the framework I used before for my old blog but it was so EASY to edit and work with! I’ll have to google that
August 31, 2017 @ 12:01 am
Looking forward to your interweb presence comeback! One of my goals too is to sell child themes specifically for a particular framework. There’s actually one free framework that I can create child themes and then reconvert them to parent themes and actually sell them for hefty prices, but I need to squeeze some time to learn how to use it. ☺