WordPress Themes and Templates Explained

What is a WordPress theme?

There’s a lot of confusion surrounding WordPress design terminology. I am frequently asked questions like, “can you recommend a good WordPress template for a business website.” When this happens, I understand that the person asking the question is actually looking for a WordPress theme suggestion.

While it may seem pedantic to dwell on these seemingly interchangeable terms, there’s a real difference between themes and templates in the WordPress world. Once you’ve finished reading this post, you’ll know the difference between a theme and a template — and, more importantly, when to use each.

What Are WordPress Themes?

A WordPress theme is a complete design for a website. 

A WordPress theme includes all of the things that you typically associate with web design. From color selection to headers, footers, and sidebar positioning. Through its CSS stylesheet, a WordPress theme controls everything related to typography — including font face, font style, margins and indentation, and line spacing.

You can find themes in the official WP theme directory or from any number of WordPress theme designers.

When you install a theme through your WordPress admin area, the theme files are downloaded to your web server automatically.

If you download a theme to your computer, you’ll find it packaged in a single zip file. Open up the zip file, and you’ll find a folder full of files (and even more folders!).

That messy collection of files and folders is the guts of your WordPress theme. Some of those files are WordPress templates.

So, What is a WordPress template?

This is where things get a bit confusing. Some other web design systems refer to the overall site design as a template. 

In WordPress terminology, a template is a page layout that’s available within a theme. In other words, the template is just a single-page layout, not the whole site design. With WordPress, there’s no limit to the number of templates a theme can contain.

Some standard WordPress templates are common to almost all themes. For example, the archive.php template displays a list of all posts (within a category, tag, or date range). And the single.php template is used to display single blog posts. Consult the template hierarchy to figure out which template WordPress uses on any given page of your website.

Page Attributes box - select an alternate template
Select an alternate template in the Page Attributes box.

Besides the standard templates, some themes have special templates designed to deliver special design features. For example, your theme may have a special template for a contact page or a full-width template with no sidebar. 

You apply templates to individual pages in the WordPress page editor. Just keep in mind that not all WordPress themes have special templates. If yours does, you’ll find them listed in the Page Editor. Look for the Page Attributes box just to the right of your page content.

To summarize the difference between theme and a template: A theme controls the design of your entire site. A template defines the layout of a single page. Themes include several different templates.

Changing WordPress Templates

Templates are page layouts designed to work within a WordPress theme. It’s not possible to install a single template. WordPress doesn’t work that way. To change templates, you install a new theme.

However, it is possible to create your own custom templates — I’ll save the details for a future post. You will need to have a good understanding of web design (CSS, HTML, and PHP). Strong knowledge of the WordPress template hierarchy helps too. In the end, both themes and templates are made of the same ingredients that make up any web page  — HTML and CSS.

Still, have questions about WordPress themes and templates? Leave a comment below, and we’ll help you sort things out.

Updated October 1, 2020


28 thoughts on “WordPress Themes and Templates Explained”

  1. Hello Kirk,

    If I downloaded a template (Apartment HTML) would I need to install a theme to make it work?

    1. Hi,

      That’s just an HTML template. To use that with WordPress you will need to turn it into a WordPress theme. That would involve breaking up the design elements into the appropriate WordPress templates (header.php, footer.php, sidebar.php, index.php, etc.). As you create those files you’ll need to add the WordPress tags that merge content with the template.

      If you’re up for the challenge I suggest you read through the WordPress Codex entries on the topic. Start here: https://developer.wordpress.org/themes/basics/


  2. I have a self-hosted WP blog site. My current WP theme is outdated and I believe no longer supported by WP. When I log in as an admin, I’m prompted to update the theme, but I’m not sure what will happen if I do so. Will I lose the graphic design elements? I’m not married to the design anymore. It too is quite dated. But I haven’t performed the update because I don’t know what my site will look like after I do.

    1. Hi Monica, Updates can be scary, no doubt. Generally speaking, you shouldn’t lose any of your design elements with a theme update. If you’ve only made design changes through the WP Admin there’s nothing to fear.

      However, if you (or someone you’ve hired) has customized the underlying theme code (CSS or PHP templates) without first creating a child theme, then there’s a real chance that you’ll lose your customizations.

      To be safe be sure to make a full backup of your site before installing the update. That way you can restore your old site if something goes wrong.

  3. Hi Kirk,

    This relates to WP Themes & Templates that you have elaborated above. I am new to website building. I have a free theme on my website. Can I add a HTML Template ?

    1. Hi Nadir, Yes, you can add a new template, but it will have to be PHP. You include your HTML in the template along with WordPress template tags (which are really specialized PHP functions that only work with WordPress).

    1. Hi Nancy, I have no experience with this product, but after looking at the sales pages I would say you need the WordPress theme version. The Website Template version is not a WordPress theme (just the static HTML, CSS, JavaScript files, etc.)

  4. Hello Kirk,
    I would like to buy a wordpress theme that I like but does not have the landing page template. In the web I found some codes to create landing.php
    Can I simply create a template like landing.php or is it a more complex thing?
    Thank you in advance

  5. Hi Kirk
    I don’t understand why I see a mix of the layout of my template and the layout of my theme on my website. There are 2 websites shown on top of each other.
    When I go to my homepage for example, I see the heading of my template. The rest of my homepage is similar to my theme. I want to use the heading of my theme however.
    I want my website to look like my theme, not my template.
    Is this because I’m working with the free version of my theme? I see there is a pro version. Should I buy this pro version and will my problem be solved then?
    Thank you

    1. Hi Griet,

      What theme are you using? And also, are you using Elementor or some other page builder?

    1. Maybe. But if you stick with a quality theme it’s much easier than attempting to build your site any other way. Beginners shouldn’t need to worry about the technical workings of WordPress themes.

  6. Hi Kirk,

    I have an WordPress website, that got messed up when I had BlueHost change the primary domain. All the images are gone from the header and the Home page. It was built using Astra Theme. I see a template when I go to each page (that template happens to be the one I used to build my website in the first place). Can you point to some write up that explains the exact steps to use this new template to fix my site?


    1. Hi, it sounds like you have some hard-coded links pointing to your images on the old domain. First, check your media library and see if all of the images are broken. If so, you can use a plugin like Better Search and Replace (https://wordpress.org/plugins/better-search-replace/) to do a global search and replace and change the old domain URL to the new domain URL. That should bring your missing images back.

      1. Hi Kirk,

        Thank you for the prompt response.

        I was anxious to have my site fixed as I was expecting someone to visit my site, just to check things up. Therefore, I took a much longer route to fix the problem. I could still see the Astra template I used last time to build my site. I used it and built each page, using copy/paste. It was tedious, but I got it fixed. I also got some newer, more attractive, images added. Your solution would have been much easier. In fact, two sites got messed up. I have fixed only one of the two. I will use your method to fix the second and will let you know how it went.

        Thanks again, for helping me and other novices like me. Wish you the very best!


        1. Hi Satish,

          Glad to hear you’re back in business. Hopefully, my suggestion will work with your other site. It should be much less work.


          1. Hi Kirk,
            This is to update you on the status.

            As I was playing around with different functions in the Page Builder, I stumbled upon something that I missed before. There is a section that shows the current picture (which was nothing for me) and then gives you an option to bring in a new one. Using that, I was able to put images on my pages. I was able to find some relatively catchy photos that are much better than the original ones I lost.
            As I mentioned earlier, I am a total novice with no formal training on building websites. However, I get excited when I discover/learn new things. That was a great day for me. I discovered several impressive features built in these addons. I never got around to trying your suggestion, but want to thank you for leading me to this path of experimentation that helped me learn so much.

            Wish you the best.

  7. Thanks, Kirk, for explaining it so well. When I started, I also used to be confused about themes and templates. Your post is thorough. Is it ok to use two page builders for a WordPress website?

    1. No, I don’t recommend using two different page builders on one site. That could lead to a very slow website and a variety of other design and performance issues.

  8. Great article.

    Starting my first site on Hostinger (with WordPress), if I load generatepress theme(bcs it’s told by many sites that it loads fastest), then should I select any other template also(which hostinger shows in starting/ else they give a choice to customize later, which I don’t know) or they r inbuilt in this theme?
    My blog is about Automation products.

    1. Hi, You can only have one active theme at a time. If you select one of the pre-installed themes that your WebHost offers, Generate Press will no longer be the active theme.

  9. Hello Kirk, great article and comment replies.

    I’m not sure my issue is on topic here, but I am stumped about a stubborn image in my home page. Using Astra theme. At one point in my initial attempts to customize a theme, I added an image from the PhotoStock library that appeared in my image library. It had a place for a caption and I added that. It’s the Brooklyn Bridge image on my home page.

    The problem is that I no longer want that image. It shows on my home page, but when I edit that page, it doesn’t show and I don’t see any place where I can delete it. For the Featured Image in the right editing panel none is shown, so I don’t think it is a featured image. I’ve asked the support team at Astra but they are also stumped at the moment.

    At one point I deleted all pages from my site and reloaded the Astra theme, checking the “delete previous theme” to attempt to start with a clean slate, but even after that, that Brooklyn Bridge image is showing on my website.

    I tried searching for that image (via the caption text) in the code editor for that page and can’t seem to see it there either. I wonder where the code for that image could be lurking? In case this is an appropriate question for this stream, I’d appreciate your thoughts on this.

    1. Hi Tammo,

      It could be an image set as a featured image (check the right sidebar on post/page edit). I would also try setting another page as your home page. If the image still appears on your home page then it’s something that was added to your header somehow – either via widget or possibly by code. Could even be a plugin.


Comments are closed.