How to Make a Custom WordPress Theme

WordPress is the most popular website builder and content management system in the world, powering over 76 million blogs and an estimated 30 percent of websites of all kinds across the globe. WordPress is free and easy to install and use even if you’re a complete beginner, but it also allows experienced users to customize its code as needed. One reason WordPress is so widely used is its vast array of themes—thousands of both free and premium themes that can change the appearance and layout of a hosted WordPress website with the click of a mouse. But, if you still can’t find the perfect theme among all of those, it’s possible to make a free WordPress theme from an existing one with little coding required.

If you find yourself in this situation, learning how to make a WordPress theme may be the best solution for your needs.

How WordPress Themes Work

A WordPress theme is a set of HTML code overlaid on the source code that creates the theme framework for a WordPress site. Because a theme isn’t part of the source code, it can be changed or modified without affecting the structure of the site itself. The theme files create a template that’s used to establish the look and layout of the entire website in a unified way so that all pages and posts share features such as the same colors, backgrounds, and fonts.

When a user installs a WordPress theme, the theme features are automatically added to the site. If that theme doesn’t appeal, it can be replaced simply by choosing another one. Not all themes share the same features and layout, so when changing a WordPress theme, it might be necessary to reconfigure some parts of the page structure, such as the way widgets are displayed. Likewise, some plugins might not work—or work the same way—when a theme is changed.

Customizing Themes

Themes can be customized in a number of basic ways right from the Admin dashboard so that users with no coding experience can make essential changes such as adding a custom header, changing background images, and choosing among preloaded options for changing fonts, font sizes, and colors. Although these changes can easily add a custom look to an existing theme, they’re limited to the theme options that it allows. For more elaborate customizing, users need to look to a theme’s style sheets—the CSS (Cascading Style Sheets) that define all the parameters of the theme. All themes are stored in the site’s wp-content/themes folder.

In some situations though, even that level of customizing a given theme might not meet a user’s needs and the best solution might be to make a WordPress theme. Creating a WordPress theme is a complex process involving some expertise with HTML, CSS, and PHP—the programming language used to develop WordPress from scratch. That’s a process many new users may not want to undertake. But, there’s another way to make a new WordPress theme: by creating a “child” of an existing theme.

Making a New WordPress Theme

If the options offered by existing themes simply don’t meet the needs of a particular site, users with design and development experience can opt to write a new template file in HTML that includes all theme elements. Once completed, these new theme files can be uploaded via FTP and installed directly into the site’s WordPress themes directory. Once installed, it can be activated like any other theme created by a third-party developer. 

Creating a child theme from an existing one allows users to make relatively small changes in a theme’s appearance and layout without altering the theme’s original template files. That’s an important option, because theme developers may offer updates or changes to an existing theme that can wipe clean any local changes a user made to the theme files. A child theme avoids this problem with templates since it’s “spun off” from the parent theme and the parent’s files remain unchanged. As a separate entity, the WordPress child theme can be edited in any way a user wishes.

Making a Child Theme in WordPress

A child theme is a separate theme that can have its own name, but it needs the parent theme to work. That’s because it’s created to be a modification of an existing theme, not a completely new one built from scratch. Making a theme in this way requires some experience with coding and managing site files, but users without much experience can work with child themes to make some changes in the site’s look and style.

To create a child theme, locate the site’s wp-content/themes file in the File Manager for your WordPress installation and create a new folder for the child theme there. Name it anything you like, but make it clear that this new theme relates to an existing parent theme. For example, you might call it “[parent theme name]–child.”

A site’s appearance is dictated by its style sheet—a set of code that describes all aspects of the site’s look, such as font sizes, spacing, and colors. To make a style sheet for the new child theme, create a new text file and label it “style.css.” 

In order to make the stylesheet function properly, you’ll need to paste in a snippet of code called the Style Sheet Header from the WordPress Codex, a source for the technical aspects of working with WordPress. The Style Sheet Header requires information such as the name of your new theme, the Template or parent theme name, your name as the author of the theme, and so forth.

Once installed, this file will hold the contents of the new theme’s style sheets. Import the original theme’s style sheets by adding “@import” to the style.css file. Once there, these styles become a part of the new child theme and can be edited separately to add unique features to an existing theme. Both the child theme and the parent theme are available in the wp-content file and can be activated or deactivated at any time.

Hundreds of free WordPress themes are available from WordPress itself—and more are constantly being created and sold by third-party designers. Themes are designed to be user-friendly and customizable “out of the box” for beginning users, but if those options don’t reflect your vision for your custom WordPress website, it’s possible to make your own theme—or make an existing theme your own.

We hope that this post has helped you learn how to make a WordPress theme, but if you have any more questions, please visit Bluehost.com today!

Build the Website of Your Dreams with Bluehost

Get Started
Desiree Johnson
Desiree Johnson | Content Specialist
Desiree Johnson is a Content Specialist at Bluehost where she writes helpful guides and articles, teaches webinars and assists with other marketing and WordPress community work.

Leave a comment

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