To advertise with us contact on Whatsapp: +923041280395 For guest post email at: [email protected]

WordPress Theme Development Tutorials [All in 1 Best Series]

WordPress Theme Development Tutorials [All in 1 Best Series]

Hi. Hope you are fine. In this tutorial, we are going to learn about WordPress theme development with FUN.

In fact, we’ll commence with absolutely zero files and zero lines of code. The only way to understand how WordPress Themes work, is to authentically jump in at a low calibre and do every single thing yourself. Affirmative, it is tempting to evade this because you can make WordPress do everything for you without any construal of the code that powers it. This could be PHP, JavaScript, CSS or even the fundamental HTML.

You may also be interested in reading WordPress Customization Tutorials.

By the cessation of this step by step WordPress Theme Development tutorial, you will understand how everything fits together and how to bend WordPress to your will with facileness.

So many free themes available to you when you are running a WordPress website. Beyond the free themes, you might withal opt to pay a premium for professionally made WordPress themes that look great and have fantastic features. So why learn how to engender your own theme from scratch?

The answer is that no matter what theme you are utilizing, there is going to come a time when you optate to make simple changes to your website. Some of those transmutations might be able to be accommodated by a simple plugin or widget. Many times, however, it makes more sense to understand what it is you optate to transmute, how to transmute it and eschew turning your WordPress website into a mess of plugins and integrate-ones that become unwieldy.

With just as if not enough of substratum level consciousness, you will be with self-belief in making an adjustment your chief idea or simply building your own from nothing. You Will range of knowledge which text record to get ready, and what code to get mixed together or make different to produce your desired outcome.

WordPress Theme Development:

Step-1: Create a folder to hold your WordPress Theme Files:

If we are going to be building Themes, we need to have knowledge of where the records that make up a WordPress Theme be living in WordPress Installation. This is good-looking simple, not hard. We have knowledge that a WordPress installation representatively has a root directory named WordPress.
Here is what our root directory looks like in PHP Storm.

wordpress theme development

The directory contains the following folders and files:


  • composer.json
  • index.php
  • license.text
  • readme.html
  • wp-activate.php
  • wp-blog-header.php
  • wp-comments-post.php
  • wp-config.php
  • wp-config-sample.php
  • wp-cron.php
  • wp-links-opml.php
  • wp-load.php
  • wp-login.php
  • wp-mail.php
  • wp-settings.php
  • wp-signup.php
  • wp-trackback.php
  • xmlrpc.php


  • wp-admin
  • wp-content
  • wp-includes

The folder that we are most intrigued with right now is the wp-content folder. Within the wp-content folder is a folder designated themes. This is the folder that holds one or more themes that you would like to use with your WordPress website. In this theme folder, we find three supplemental folders of twentyfifteen, twentysixteen, and twentyseventeen. These folders contain the three themes that WordPress ships with by default. There is a folder named customtheme. Go ahead and create that folder as well in your installation as this is where we will be creating our WordPress theme from scratch.

WordPress Theme Development Tutorials [All in 1 Best Series] 1

Step-2: Create style.css and index.php in your custom theme folder:

Now, we know that where is our WordPress theme files in the file system. We have also created a new folder named customtheme in our themes folder. Now we are going to create two empty files in this directory. One is known as index.php and the other is style.css.

WordPress Theme Development Tutorials [All in 1 Best Series] 2

Let’s add these files to the minimum we need in WordPress to get a new theme.


In reality, WordPress reads the comments you have put in the.css folder, where you state-specific information on the theme.

The.css-style is a file for all WordPress themes required by CSS. It monitors the presentation of the website pages (visual design and layout).

We just assign a theme name in our snippet, the writer, the author’s URI and our theme version number.

1- /*
2- Theme Name: customtheme
3- Author: Sikander
4- Author URI:
5- Version: 1.0
6- */


In this folder, we just want to put something on the screen to prove how our custom theme functions.

1 <h1>Custom Theme!</h1>

WOW! well done! Believe it or not, your first WordPress theme has been developed by you.

Step-3: Activate your theme from the WordPress Dashboard:

Now, we can visit our WordPress dashboard and search Appearance->Themes and look, we can see the new theme we made.

WordPress Theme Development Tutorials [All in 1 Best Series] 3

To install our custom theme, we can click on “Theme Details” to find out that the information we have entered in the style.css folder has worked. It can be seen that the theme has a name of custom theme with the author Sikander, Version 1.0 and a link to the URI we provided. Superb.

WordPress Theme Development Tutorials [All in 1 Best Series] 4

Go forward, on the new custom theme click “Activate,” then go to the website. No award will be received, but we have a good start on a new custom theme for ourselves!

WordPress Theme Development Tutorials [All in 1 Best Series] 5

Step-4: Add Code To Output The Post Title And Post Text:

We have taken the freedom to add a few examples in the database so that during this tutorial we can work with this information. Our theme now only releases a custom theme! to this page when we visit our website regardless of the number of posts on the list. Let’s move to collect some data from our database and output it to the page. In addition, we want the post title and the post content of all posts to be compiled and viewed on the homepage. Let’s first see what’s on the Dashboard for posts.

WordPress Theme Development Tutorials [All in 1 Best Series] 6

Leveraging The WordPress Loop:

Now a bit of the WordPress Loop we can talk about. WordPress Loop is the catalyst for running WordPress.Through this loop, theme designers search for posts and display them, when required, on the page. If the format is adopted, adopt the explanation. If the database includes posts, let’s loop them as posts remain, otherwise, we’ll let the user know that no posts occur. In the PHP script, it looks like this.

WordPress Theme Development Tutorials [All in 1 Best Series] 7

Remember that the loop includes the two most basic functions. Those are have_posts() and the_post(). Just one thing does the have_post(). This tells you whether there are posts to loop over on the database. This function will either return true or false , which is what it is.

When it is real, posts can be looped over. There are no posts to loop over when it returns false. The other function, the_post(), offers nothing back. The role is to ready WordPress for posts. In particular, the next post is retrieved, the post is set, the in_the_loop property is set to true. Our website still doesn’t have our blog posts, but now we can update them in our index.php directory.

WordPress Theme Development Tutorials [All in 1 Best Series] 8

Well done. Now we use the_title() and  the_content() additional WordPress features. Very often such functions are used inside the loop and what they do is to retrieve each post with its title and content as the loop is iterated in the database over each article. When the loop runs, the first post will come in. at that time, the_title() function then outputs the post title to the site and the_content() function the outputs the post body to the site.

On the next loop, these functions will again fetch the next title and content and output them to the page. So we should now see certain information on our posts sent to the screen. Let’s try that.

WordPress Theme Development Tutorials [All in 1 Best Series] 9

Step-5: Add a Link To Each Post:

Now we add a link to each post. So, instead of just being in your homepage, we could view a post on its own. This is very simple to do, again with special features offered by WordPress. the_permalink() function can be used for this role. Our code can be changed in this way:

WordPress Theme Development Tutorials [All in 1 Best Series] 10

We can now tap on each post title and navigate to a site with only one post. Really cool!

WordPress Theme Development Tutorials [All in 1 Best Series] 11

Step-6: Add a Header and Footer To The Custom Theme:

The title and post content is essential to create a good theme. The header and footer portion of your subject is almost as significant. The content in these sections is always visible on all website pages. The above and below sections are the post contents. You know, we’ll use the specific features WordPress includes to get the header and the footer. Are you already forming a pattern?

Far from anything you can do as a theme creation developer at WordPress, these custom features have been done for you. So in WordPress development, you will find it worthwhile to save these widely used functions. Let’s go ahead and add the get_header() and get_footer() functions to our theme file now.

WordPress Theme Development Tutorials [All in 1 Best Series] 12
WordPress Theme Development Tutorials [All in 1 Best Series] 13

We can see that our custom theme now includes both a header and a footer. The name and title of the website are in the header and we can see in the footer the familiar text, WordPress Tutorial is proudly powered by WordPress. These are the standard choices for headers and footers when these functions are used. What if we want a custom footer and header? Well, come upright!

From 2 Theme Files to 4

We currently have two files in this tutorial, which live within our custom theme folder. Those files are style.css and index.php. We’ll have to add more files at this point to move on. Go forward to build two new files in the customtheme folder. The names of these files are header.php and footer.php.

WordPress Theme Development Tutorials [All in 1 Best Series] 14

The default header and footer formats that are provided in these files are now to be overwritten when you call the get_header() or get_footer() functions. Unfortunately, if we refresh our homepage, the header and feet seem to have gone. This is because the files have not yet been marked. Set up the files just for grins in order to test it.


WordPress Theme Development Tutorials [All in 1 Best Series] 15


WordPress Theme Development Tutorials [All in 1 Best Series] 16
WordPress Theme Development Tutorials [All in 1 Best Series] 17

Working with header.php

Our example above worked great and illustrates how this file operates at the very basic level of its operation. Nonetheless, the file header.php is very critical, so let’s not skim over it too quickly! In this, you include code that will require access in one way or another for all pages on your site. Initially, there is a doctype for all HTML pages.

In this file, you specify it. Furthermore, all pages have an Html opening tag, header, and body opener tag. This can be achieved in the header.php file. Let’s add a few things quickly from which all the web pages will use. We are also going to use some new WordPress functionality here. Those will be language_attributes(), bloginfo() and body_class().


WordPress Theme Development Tutorials [All in 1 Best Series] 18

We can get an idea of what these functions are doing when we refresh the site and then see what these functions are doing in our browsers. We highlight the output lines resulting from the following functions:

WordPress Theme Development Tutorials [All in 1 Best Series] 19

Once again, when designing your own WordPress themes, we can see the very liberal use of WordPress features. Currently, no custom software has been written to date. We simply learn what the various WordPress features can give us, and then bring them into our custom theme.

Including wp_head()

When you’re working with WordPress themes, (wp head) is some sort of special function. It isn’t as easy as we’ve been looking at all the others so far. This task is intended to complete the results in the header.php file < head > portion. It is expected to go before the tag is opened. Once you start adding different plugins to your page, this becomes essential.

At the front end of the head mark, it prints scripts or information. The use of the (wp head) in your themes is a good practice as many other plugins will rely on this hook to add settings, scripts or meta elements to the < head > tab.  We will add it as such here:


WordPress Theme Development Tutorials [All in 1 Best Series] 18

Completing footer.php:

The basics of what we’re going to need in header.php files have finished. Let’s go forward, complete the footer.php file now. We need to do a couple of things. Remember we have Html and body tags in our header.php file. Those must at some point be closed. This is a perfect place for the footer.php folder. In addition to calling the (wp footer) feature, we must add the closing < /Html > and < /body > tags.


WordPress Theme Development Tutorials [All in 1 Best Series] 21

Changing Site Information In The WordPress Dashboard:

Perhaps you wonder why we had to use all these fantastic features to build our theme. For example, we used the (bloginf) function to list the name and tagline of our page, bypassing name and description parameters. That is because generally speaking, you never want these values to be difficult to code on your site. This information could change.

Furthermore, they will have their own name and tagline for their website if you make your topic available to the public. They should be able to visit the WordPress admin dashboard and update their general settings to automatically view this data.

Making The Site Title Link To The Homepage:

The majority of the themes will allow you to click on the website title and guide your user to the site’s homepage. It helps you to always click on this title text wherever the user is on the internet and go back to the main web page. Let the link in header.php now be added.

WordPress Theme Development Tutorials [All in 1 Best Series] 22

Step-7: Add a functions.php file to your theme:

Now we have 4 files in our custom theme. Those are index.phpstyle.cssheader.php, and footer.php. Probably the next most important file we need to have is the functions.php file.

WordPress ‘ functions.php file does a lot for your subject. This is the folder in which you put code to adjust WordPress ‘ default actions.

  • Does not require unique Header text
  • Stored in the folder that holds your theme files
  • Executes only when in the currently activated theme’s directory
  • Applies only to the current theme
  • Can call PHP functions, WordPress functions, or custom functions

One thing that we really need is better styling in our theme! Let’s create the function for the style.css file to our theme in our functions.php file. How can we accomplish this goal?

WordPress Theme Development Tutorials [All in 1 Best Series] 23

The stylesheet of our theme is included or disabled in this piece of code. Now you may wonder why we are using a personalized function if we seem to be able to link to our own stylesheet manually as easily in the header.php file. Okay, that’s a little bit more work before the effort later comes back larger. With the more complex themes and more assets added, you are glad to be able to take care of all the hard elevation for you in this one function.

Now is the time for things to look a little more glamorous. Let’s first add a < div > wrapping with a container class. In order to set page width among other items, this will allow us lessons to aim in our style.css folder. We will also apply a better style to style.css in this phase.

Step-8: Add Some Style To Your Theme:


Adding an opening <div> to the header.php file.

WordPress Theme Development Tutorials [All in 1 Best Series] 24


Adding a closing </div> to the footer.php file.

WordPress Theme Development Tutorials [All in 1 Best Series] 25


Wrapping the post output with a <article> tag.

WordPress Theme Development Tutorials [All in 1 Best Series] 26


Finally, to make the theme a bit nicer, we add several CSS style improvements.

WordPress Theme Development Tutorials [All in 1 Best Series] 27

When you now visit our test site in the browser, you can see that the WordPress theme that we have gradually developed looks really good.

wordpress theme development

Step by Step Description of WordPress Development Tutorials:

Let’s study all we’ve learned from this WordPress Theme Guide for beginners step by step. We learned how to create our first individual WordPress theme by building our own folder alongside the WordPress theme folder. In this folder, we have added different files that fit various parts of your website. We began with the minimums you should have in a WordPress theme in our tutorial. You will, in addition, add a lot of files than we have protected to this tab.

  • Style.css: In this folder, you add a few notes to WordPress so that it knows some information about your particular theme. The design designs that you add to your theme are also included.
  • index.php: This directory manages your theme’s Html and general performance. This is the main data file on your home page.
  • header.php: Allows you to set a field of essential website data in the < head > area, including the < html >, < body > and, opening tags.
  • footer.php: In addition to giving you a calling point for the (wp footer) feature, the footer will close all tags you have defined in the header field.
  • functions.php: Allows you to call PHP and built-in WordPress functions and create your own functions to alter WordPress ‘ default behavior.

And you have it there! We could create a fully working WordPress custom theme with only 5 files. This allows us to build complex WordPress themes and functionalities at the basic level.

Well done!

Leave a Reply

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