Custom WordPress Themes

WordPress out of the box comes with access to literally thousands of themes, so you would think it would be relatively easy to find one that suits your site? Yes and no. If your needs are simple, say a basic blog site, then there are indeed dozens of free themes within days reach that will look great.

However what if you want your blog to have some quirky customisation ? A four column layout with categories down the bottom, and a carousel at the top. After hours of searching you find one that looks nearly right, but it’s not quite there. What do you do?

At this point there are two options , depending on your skill level and knowledge. You can make a Child Theme, or you can start from scratch and make a Custom Theme.

What is a Child Theme?

A child theme is a variation on a theme, extremely useful when you find a theme that is almost perfect but not quite there. You can add a few tweaks to the layout which will override the main theme, and this has several big advantages.

Firstly most of the work is already done. You are simply modifying work that already exists, rather than starting from scratch.

Secondly any updates to the parent theme will not break the child theme.

A Custom Theme

This is exactly what it sounds like – starting from scratch. There are several scenarios where this is a good idea, for example if you were to create a hobby site for an archery club and knew you would be adding in code to enable club members to upload their scores and have their handicaps calculated automatically and then displayed on their profile. In this case, which is actually a site I worked on several years ago, a custom theme is almost a given.

Below I have outlined the initial steps you need to take to make a custom theme. To do this requires full ftp or sftp access and some knowledge of coding, this is not something you can do with admin access to the dashboard of your site.

How to make a Custom Theme

  • Make a new folder with the theme name in the /themes directory, which can be found in /wp-content.
  • Create two new files, index.php and styles.css.
  • Add a comment at the top of the styles.css file, this is where WordPress looks for the theme information.
  • The comment might look like this.
Theme Name: My Custom Theme
Author: Anthony Croshaw
Version: 1.0
  • Add a preview image by uploading a screenshot to the theme folder, again this must be named correctly, in this case screenshot.png
  • This photo should be 1200px by 900px (h x w).


This site is built on a custom theme. It is not that hard to do, but you do have to have decent knowledge of PHP, FTP, CSS and HTML. There are some great courses out there if you want to take your WordPress knowledge a bit further, here are some links to useful resources.

Become a WordPress Developer: Unlocking Power With Code | Udemy

WordPress Theme Development Tutorial 2020 – YouTube

WordPress Theme Development with Bootstrap in 2021 | Udemy