Learning how to build WordPress Themes

I am currently trying to read up on how to create WordPress themes. It is simultaneously more simple and more complex than I anticipated.


A read an article from websitesetup.org by Danny Cooper that showed my how to build the most basic WordPress theme from scratch. It was honestly pretty overwhelming, but I gathered a lot of information from it:

  • There are three main file components to making a good theme: index.php, style.css, and a functions.php file.
  • More functionality can be added by making custom theme templates for search pages, post pages, error 404 pages, and more.
  • WordPress functions will be used constantly during this process, and they contain their own unique syntax.
  • When making a theme, special effort has to be put in to ensure that all theme echo statements are escaped and that the theme is tested for security and performance
  • Extra steps must also be taken to give the theme multi-language support
  • There is a long list of files that your theme files must include in order for the theme to be put up on the WordPress theme marketplace

At this point my main question is whether themes have to be built and tested on a private server before they are released, because I don’t really remember how to install and run WordPress on my own machine very well. I also need to figure out how to make sure my local machine is running the latest version of PHP.

The above article also suggested that I follow many best practices, which are more easily followed if I use one of the handful of pre-made starter themes:

The article also includes a github link to Danny Cooper’s My Custom Theme.


Next I scanned through an article written by Eric Karkovack over at WPShout. His summary of how to create a WordPress page was similar to the article from Websitesetup.org, only he emphasized several different key points:

  • The importance of using the Theme Developer Handbook
  • How to improve efficiency with a code snippet library
  • Tweak starter themes to make your own custom starter theme
  • The level of complexity is entirely up to the developer, and this can be planned using the WordPress Template Hierarchy
  • Use the default WordPress themes provided by WordPress to learn more about theme development

In addition, the site offers a free course on WordPress course creation written by David Hayes. I think I might just look into that!

Next Steps

As my next step, I think I want to take a look at the starter themes. Next, I am going to look at the FreeCodeCamp tutorial and WPShout course.

I want my main portfolio page to use WordPress instead of the complex UI setup I currently have, but we will see how that works out. The worst that can happen is that I have a new skill under my belt!

Leave a Reply

Your email address will not be published. Required fields are marked *