In Depth Guide To Use Child And Starter Theme

Updated: October 17, 2021

Let’s discuss in depth where to use child theme and starter theme.

Child Theme allows you to override another theme which we refer to as the parent theme without making direct changes to that parent theme that would then be lost during the update process. The reason for this is that whenever you update a theme which happens pretty regularly to deal with things like security updates or new features and things like that any changes that you made would be replaced because it downloads a whole new set of files. So for this reason the child the architecture was created to allow you to customize that theme without losing those changes.

A starter theme on the other hand includes helpful files and functions for building themes from scratch. So you’ll usually edit starter themes directly and not use child themes and they’re really meant as a starting point so you don’t have to create all of the files and functionality that you would usually create with every site you build from scratch every time. So they give you a bit of a start hence the starter theme name. Now a question arises when to use child theme and when to use starter theme and the answer is simple:

When to use child theme: 

  • When you’re going to use when you want to customize an existing theme maybe it’s a client project they already have something or more likely it’s going to be you bought a theme or downloaded. 
  • In a  free or premium theme that you like but you just want to make some tweaks to it.

When to use starter theme:

  • When you’re building a custom site from scratch and you don’t want to start completely from scratch you want to start with some of the core files and best practices already implemented.

Child Theme In depth:

In this section I will describe child theme in detail and in more depth. But before let’s describe how normal themes work. Most themes come out with updates some updates are for security reasons and some are offered new functionalities and some are just to keep up with updates to WordPress core. It will pull down the new theme and override all the code for your current theme. This means that if you made any changes to the theme code like style sheets or templates these will all be overwritten during the update process. For this reason the child the architecture was set up.    

Now let’s discuss about our main topic section child theme. Child theme contains few important things first of all it’s going to have a reference to what that parent theme is in the style dot css (style.css) file and next it’s going to include the parents styles in the function.php. So just because you tell WordPress in the style about CSSA file What parent theme you’re using it will not automatically include those styles that will include all of the different files and things like that. The template files you could reference and it will automatically look up but you have to manually include the parent style. And then the final thing is any template files from that parent theme you want to modify, you have to simply copy them from the parent theme but don’t remove them from the parent theme you will still need them in that parent. You just need to copy those templates in child theme area where it’s safe from being overwritten during the update of parent theme.

So on the other hand the parent theme which is just any normal theme that you decide to customize using this child theme approach is going to keep all of its original files edited. Now what happens is before loading any page and wordpress the system will look to see if that template exists in the child theme So if it does it will load the child theme template and If that file does not exist then it will look to the parent theme. This fallback architecture allows you to customize parent theme more effectively and conveniently. 

Child theme contains:

  1. Reference to parent theme in style.css file
  2. Include parent style in functions.php file
  3. Copies of any templates from Parent theme you want to modify.

How to create a child theme

Starter Theme In depth:

If you’re building a site from scratch and you want to start off with some core template tags and theme files then a starter thing is what you’re looking for. Now the first thing to note about starter theme basics is that they are going to include a bunch of  common theme template files so this may be things like page.php , single.php . functions.php … All these really common theme template files and they may have a lot of them or all of them. They may take different approaches but they’re all going to come with a bunch of these files and the idea behind that is if you’re going to use the same files in every WordPress project why not just automatically give them to you to start off with, which is starter theme.

Now while you’re going to have those it’s likely that you have no css styles. There may be a stylesheet but there’s probably not going to be many styles applied. Now the exception to this is that some of them include things like bootstrap or foundation which are css frameworks. So in this case you are getting a bunch of CSSA but they’re not necessarily going to have already made decisions about how your site should look and how bootstrap or foundation and these frameworks should be implemented so you’ll have access to it. It’ll be included there but it may not have much styling or any out of the box. And the idea here is that they don’t want to assume what your project is going to look like they want to  give you the core markup and then let you apply your see assess how you need to. Now in addition to all of this there are going to be some extra functionality in your functions.php file. They might be adding a bunch of little hooks and things and that just make your work easier. They may be assuming that you want to have some extra functionality they may be coding out things that aren’t in wordpress by default but a lot of developers find really helpful. So chances are you’re going to find a function.php file and you’re going to find a bunch of extra stuff in there along with that. 

Now another thing that you’ll see in these is they follow a modular file architecture. So what this means is that they’re going to take a big file and break it up into smaller files. And often these smaller files are reused in different places so you may see a larger file it’s just kind of a wrapper and then it’ll swap out what little files go in there and then to larger templates might include the same smaller included file and this architecture is pretty common. It really is a best practice and something we’ll look at when we start building out all of our stuff. So here we’re taking it even further and some of these are going to include workflow tools so things like build tools like golpe or web pack and PM things like that that are really common especially for javascript developers more front end development things maybe like composer that allow you to bundle in different libraries and things and save them in any easy way. So the more powerful among these are also going to include that and then finally I’ll mention that usually you download a starter theme and you use that code. 

So you just start editing that style or that starter theme making whatever changes you want and you don’t apply a child theme to a starter theme.

A few WordPress Starter Themes I want to suggest

  1. Underscore ( it is build by WP core team)
  2. JointWP ( For Foundation CSS Framework) 
  3. Understrap ( For Bootstrap CSS Framework )

Now that we’ve taken a look at child and starter themes let’s do a little review and discuss them when we would want to use each type of theme and when we might not want to use either one. So first up here when you’re customizing an existing theme you want to use a child you want to take this approach whenever you have a current theme that you want to continue to be able to update and be supported and not have any changes you make to it overwritten that’s when the child theme comes in handy. Now when you’re building a site from scratch chances are you’re going to want to use a starter theme because it comes with a lot of the core and common files that you’re going to need. And they often add in some extra sugar and functionality that is really helpful as well. If you’re building a theme from scratch you’re going to want to use a starter theme.

It is also possible to build with no child theme or starter theme and build completely from scratch on your own creating everything you need as you go. But there are some downsides to this and that is if you don’t really know what you’re doing you may leave out some important code that will prevent a plug in or something else from working properly. And in general, this approach can take a longer time to do since you’re creating everything from scratch.

by BlazeThemes

ALSO ON BLAZE THEMES

Halloween on October 31 is around the corner. However, the annual tradition of great WordPress deals around Halloween has already started. We’ve rounded some WordPress Halloween deals, which we hope you are looking for just the same. Browse the deals and choose the best Halloween deals for your website. BlazeThemes Premium WordPress Themes and plugins […]

WooCommerce is the most popular eCommerce plugin in WordPress, with seemingly no other competitors nearby that can rival its dominance. There are multitude of exceptional WooCommerce addons that power remarkable functionalities to the store. So are you looking for the best WooCommerce plugins that could streamline your sales process and increase revenue? Check out our […]

Are you ready to get started? It's never been this easy.

Get all our Premium Themes