WordPress Academy: Learn WordPress step by step
4.6 (386 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,921 students enrolled
Wishlisted Wishlist

Please confirm that you want to add WordPress Academy: Learn WordPress step by step to your Wishlist.

Add to Wishlist

WordPress Academy: Learn WordPress step by step

Learn WordPress in a practical, project based approach. Includes PHP theme development & WordPress eCommerce stores.
4.6 (386 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,921 students enrolled
Created by Chris Dixon
Last updated 8/2017
Curiosity Sale
Current price: $10 Original price: $150 Discount: 93% off
30-Day Money-Back Guarantee
  • 8 hours on-demand video
  • 7 Articles
  • 3 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Confidently create different types of WordPress websites
  • Convert HTML & CSS websites to WordPress themes.
  • Understand how WordPress is structured
  • Gain confidence using the PHP programming language
  • Install WordPress locally then transfer to a live server
  • Choose and install plugins and themes
  • Add WordPress contents such as pages, blog posts, menus etc
  • Manage users permissions and comments
  • Add custom header images
  • Integrate with social media
  • Understand what WordPress widgets are and how to use them
  • Add sliders and contact forms
  • Apply basic SEO best practices to improve page rankings
  • Make website backups
  • Create WordPress eCommerce stores
  • Create WordPress child themes both from scratch and using plugins
  • Use starter themes to build custom themes
  • Understand how WordPress works with PHP page templates
  • Gain a better understanding of how WordPress structures files & folders
  • Create a WordPress multisite network for personal or business use
View Curriculum
  • A willingness to learn new things
  • Basic computer knowledge, such as saving, renaming, copying files etc
  • You should know basic HTML & CSS
  • No prior WordPress knowledge is required

Take your HTML & CSS skills to the next level, by mastering the worlds most popular content management system for building websites: WordPress!

COURSE UPDATED: 30th December 16: New WordPress Multisite / Network Installation section added!

Master WordPress from scratch in a fun, project based approach.

This course is for anybody looking for a career building WordPress websites or themes, or even hobbyists looking to learn a new skill.

Here are some recent reviews:

"Very easy to follow and clear instructions. So far this is a very impressive course. Have always wanted to create a blog/website and this looks like it will give some solid base to start from."

"Good course and better instructor. I've learned a lot of new stuff, instructor was always there to help when I was stuck. I'd recommend this course to anyone willing to learn WordPress."

"Great course, easy to follow and lots of good information about wordpress"

"The course moves at a steady pace that allows you to easily keep up. There are plenty of opportunities to practice what is being explained and it doesn't feel like a course where you just copy what the instructor is doing like a robot! I've tried WordPress courses before and always felt like I'd missed something, but with course I really feel that I have gained a solid understanding of WordPress and what it can be used for!"

We begin the course by getting familiar with WordPress and looking at how to install using a localhost. We then look at the WordPress essentials such as blog posts, pages, navigation menus and installing themes, all while building your very own blog website. 

Once we have the basics covered, we move onto customising our blog using sliders, widgets, header images and working with the customiser. You will also get the chance to optimise your WordPress website for search engines and create backups. 

The second project takes your WordPress knowledge even further. We create a fully functional eCommerce T-Shirt store. More techniques are introduced throughout this project such as child themes, dealing with products, categories, shipping, taxes, all while building a beautiful, custom website. 

After completing the first 2 projects, we move things on even further by introducing you to WordPress theme development by converting an existing HTML & CSS website to a fully functional WordPress theme. This section involves coding in PHP, however if you are new to PHP there is a PHP basics section to get you up to speed.

This project introduces new techniques and you will gain a deeper knowledge of how WordPress themes are created. You will learn how WordPress templates are used and learn about various WordPress functions to build our theme.

Finally, the last section will be focused on useful techniques to add to your WordPress knowledge. Here we will cover exporting your localhost websites to a live server, various plugins etc.

All images and files etc you will need is included to download, there is also no extra software, subscriptions or purchases etc to complete or take this course.

We even have a section dedicated to setting up and administering a WordPress multisite network, along with bonus material to be added to over time. 

So are you ready to take your web design or WordPress skills to the next level?

Join me now and I look forward to having you on board!

Who is the target audience?
  • This course is intended for beginner students who want to learn how to develop WordPress websites.
  • This course is ideal for students with a little HTML & CSS experience
  • Students who are looking to get involved in WordPress theme development will benefit from this course
  • No PHP experience is required, however if you are familiar with the basics it would be advantageous. A PHP refresher section is provided in the course to cover the basics of PHP.
  • Students looking to create awesome WordPress websites for fun or profit
  • New WordPress or theme developers
  • Beginner web designers/developers looking to expand their knowledge
  • Graphic designers who want to learn WordPress to increase employment or earning potential
  • Anybody looking to learn how to create WordPress multisite networks for personal or business use
Students Who Viewed This Course Also Viewed
Curriculum For This Course
80 Lectures
Introduction & Getting Started
8 Lectures 32:03

Welcome to the course! 

Preview 02:04

We begin by taking a look at why we WordPress is such a great choice. And also why WordPress is the most popular content management system available for building websites.

Preview 03:28

This is a quick overview of the Udemy interface for new Udemy users.

This lecture can be skipped if you are familiar with the Udemy layout.

Udemy guide

This video looks at how to set up a localhost using MAMP. This allows us to run WordPress websites on our own computer without needing to purchase web hosting.

Installing MAMP

Depending on which version of MAMP localhost you have installed, you may notice a difference in accessing phpMyAdmin.

This is the admin screen for creating your databases for the projects.

This video will show you a fix to access phpMyAdmin if you need it.

Important Update: phpMyAdmin fix for version 4

This video looks at how to set up a localhost using MAMP. This allows us to run WordPress websites on our own computer without needing to purchase web hosting.

Installing WordPress locally

By now we should have WordPress installed and our database setup. Now we take a tour of the WordPress dashboard and get familiar with the layout.

WordPress dashboard

We will learn more about the contents of the WordPress download as we progress through this course. To begin I wanted to give you a quick overview of the files and folders which make up WordPress.

WordPress files and folders
Let's Get Building: WordPress Blog
8 Lectures 54:58

WordPress themes control the appearance and functionality of our WordPress websites. This video looks at some resources available, both free and paid, to find almost any type of theme you could need.

Finding & installing themes

Sample data is used to test themes and also to populate our website with data such as blog posts, images, comments etc. This allows us to see what our WordPress website will look like with content. This will save us lots of time creating this content ourselves just to test the theme.

Import sample data

Now we have some posts available after importing the sample data, we can move on to editing existing blog posts and creating new WordPress blog posts.

Adding & updating posts

Great images can make your blog or website really stand out. Here we will take a look at some popular resources for both free and paid stock photography. And also take a look at licence agreements and attribution.

Where to find great photos for your blog posts

This video focuses on the WordPress media library. We look at how to include images, sound clips, music and videos into our blog.

Including media

WordPress has various user settings available to control how much access users have to our website. We take a look users roles and how we can change them. We also look at creating new users and how, as an administrator, we can control comments on our WordPress blog.

Users, permissions & managing comments

Let's now move on from the blog and look at how to add new pages to our WordPress websites.

Adding pages

Navigation links or menus are an important part of any website. In this video we look at adding a new menu to the header and footer sections.

Adding our navigation menu

Section Quiz
2 questions
Customising Our Site: WordPress Blog
13 Lectures 01:16:57
Download project images

The WordPress customizer is a visual tool to make changes to your WordPress websites and previewing these changes in real time. We use the customizer to make changes to our site branding and colours.

The customiser & site identity

In this video we add a header image to our website. Header images are useful to customise and brand your WordPress website.

Adding the header image

Now we move onto adding a logo to our header section and also look at how to add background images. We use a custom background image tile and repeat to fill the background.

Adding a logo & background image

Sharing to social media can be an important marketing tool for any blog. We look at how to install plugins in WordPress and then install and set up our social sharing plugin, to share our posts to sites such as Facebook and Twitter.

Plugins & social media integration

WordPress by default displays latest blog posts as the home page. We now move onto creating a new, custom home page and moving the blog to it's own page. We use widgets to create the layout of our home page and create rows with links to our websites services and a get in touch section.

Home page setup & widgets part 1

Part 2 of the home page setup continues with adding more widgets to layout the including a case studies and testimonials section.

Home page setup & widgets part 2

In this video we use more WordPress widgets to create a new footer section to finish off the home page. 

Creating the footer

Earlier in this section we added header images to appear randomly. We now use these images to create a sliding carousel for our website.

Adding a slider

Let's now add a contact fort to our contact-us page. This form is created by using a WordPress plugin called Contact Form 7. We also look at how to add new fields and customise the plugin.

Creating the contact form

Press this is a handy feature for quickly creating a WordPress blog post while browsing the internet. If we come across a page of article which we want to add to our blog, press this allows to quickly post without logging into our site and creating the post manually. 

Adding press this

Search engine optimisation is a full course subject by itself. However I am going to show you some 'quick win' techniques to help your page ranking in search results.

Improving SEO

Backups are essential for any website owner. If the worst was to happen and we lost all of our valuable website data, is could cause big problems.

Luckily, there is some easy to use WordPress plugins to help us to create backups, both manually and scheduled.

Preview 07:49
WordPress eCommerce: T-Shirt Store
14 Lectures 01:19:02

We begin this section by setting up a database for our new WordPress website. We then download WordPress and set it up on our localhost.

Preview 04:01

Course update- Please read

WooCommerce powers a huge percentage of all online stores. We take advantage the WooCommerce plugin to add eCommerce functionality to our WordPress store and add some basic setup.

We also use the WooThemes Storefront theme as a staring point for our WordPress store.

Getting started with WooCommerce

Using child themes in WordPress is essential if we want to make and changes to the website.

A child theme inherits all of the looks and functionality from the parent theme. We can then make customisations to the child theme without affecting the parent theme. This then allows us to update the original parent theme without causing problems.

Why use child themes

Download project images

Now we understand why we use child themes in WordPress, we can now move on to creating our child theme.

We create the new theme folder and add the required files to get started.

Child theme setup

Before we begin to create products to add to our WordPress eCommerce website, we prepare first by creating the necessary product categories, tags and attributes.

This allows us to quickly add these for each product in the next video.

Product categories, tags & attributes

Now it is time to add products to our WordPress eCommerce website. We also look at the available options and attributes associated with our products.

Adding products

WordPress by default has the front page set to be the blog.

We can change this by adding a new page and changing the settings. Also including a new template for the page.

This video also shows you how to add a slideshow to the website using the header images.

Home page layout & slider

Now the homepage layout looks more like an eCommerce website, we move on to customising the home page's colours and branding. We do this by using the WordPress customiser.

Customising the look of our store

Page Builder is a great tool for creating flexible pages in WordPress. It allows us to easily create new pages using flexible rows and columns to arrange our content. We can use a live editor to add widgets or even use pre-set layouts.

We download the plugin and a widget collection to work with by creating the contact us page

Flexible layouts using Page Builder

This video takes care of adding all of the sites menu's.

We add a navigation menu, user menu and also a menu for the mobile & tablet view.

Rearranging menus

The footer area is the last area of the website to finish. We add footer widgets to add navigation links, contact information and a Google maps widget.

The footer area

The final video of this section focuses on the WooCommerce settings.

We cover things such as orders screen, taxes, shipping, currency, payment methods, reports and discount coupons.

WooCommerce settings
PHP Basics / Refresher
10 Lectures 01:05:46
Section requirements

This video takes a look at the classic 'hello world' program in PHP. Displaying the text of Hello World is traditionally the most basic example of how to use a particular programming language.

We also cover basic PHP syntax (how it is typed out), commenting out code and combining PHP with HTML code. 

Hello world

We now move onto 3 PHP fundamentals: strings, variables and constants.

A string is a single or sequence of characters such as a letter, word or sentence.

PHP variables are used as containers for storing information, which we can change at a later date.

PHP constants are also used as containers for information, however, unlike variables, their value can not be changed.

Strings, variables & constants

This video covers PHP operators such as arithmetic, assignment, comparison & logical, increment & decrement operators.

We also look at different PHP data types which are available such as arrays, strings, integers & booleans.

Data types & operators

PHP arrays are similar to variables, however they can store multiple values.

This video covers 2 ways of creating PHP arrays, we then cover some useful array functions such as how to count the number of items inside an array.

PHP Arrays

Functions can be looked at as a section of code, which we can give a name to and call it in our program when required. Functions are useful to prevent repetition in a program. We also take a look at how to pass arguments into a function.

PHP Functions

Conditional statements are used when we want to check if a certain condition is true. If so, we then tell the program what to do next. For example we can check if a user is logged in, if they are then we can show the users information such as username etc.

We also combine the conditional statements with logical operators.

Conditional statements & more operators

In the last video we looked at if else statements and how we can use them to tell the program what to do, based on if a certain condition is met. 

In this video we are going to look at PHP switch statements, which are a great alternative to if else statements if we need to check against many conditions.

Switch statements

In programming languages including PHP, loops can make repetitive tasks quicker and easier. This video takes a look at PHP while, do while, for and for each loops. 


This video is an introduction to the WordPress codex. This is the WordPress online documentation which we will use often in the next section to find code examples and how to use certain WordPress PHP functions.

The Codex

Test your knowledge of PHP basics!

PHP Basics Quiz
2 questions
Convert an existing website to WordPress
14 Lectures 01:31:34

We begin this section by setting up a database for our new WordPress website. We then download WordPress and set it up on our localhost.

Database setup & WordPress installation

Download static website template

Underscores starter theme allows us to start creating WordPress themes faster. It includes all the structure, files, folders and best practices to get us started.

Underscores is not a finished theme like we have used previously, rather a foundation to build on.

Underscores starter theme

WordPress themes work in a different way to HTML & CSS websites. Rather than all the HTML content on one page, WordPress splits up sections into different PHP files, and then included them as required. This has advantages such as changing a common area of the website, such as the header, can be as simple as changing one template file.

This series of slides gives you a idea of how WordPress, and often PHP in general is arranges into templates.

Understanding WordPress / PHP templates

This video works with the header and footer. We bring over the content from our static website and add them to the header and footer PHP files, this allows WordPress to use them in the page templates when required.

Header & footer sections

Now it is time to move on to adding the stylesheets to WordPress. We do this with a WordPress function called wp_enqueue_style. 

We also copy over the images folder and correct the image file paths to make them work correctly.

Adding the CSS & images

In this lecture we create the front-page.php. This is the area in WordPress where we will be converting our index page from our static HTML website.

Converting the front page

Let's now get to work by making our menu work with WordPress. Currently our menu links are looking for HTML pages to link to.

We register our menu in the functions file and add the menu to the correct theme location with a WordPress function wp_nav_menu.

Converting our menu

We are going to use the index.php to display the blog for this project. We begin by copying over all of the div's and containers etc from our HTML blog. This allows out WordPress version to look and behave just like our static template.

Once we set the blog page up, we will move onto the next video to work with the individual blog posts.

Setting up the blog index page

Now our page containers and div's are set up like our the HTML version of our blog.

We can now add the blog posts into the WordPress loop. This allows us to keep the same look and feel from our static blog, but pull in content generated by WordPress.

Setting up the blog posts

This lecture is all about converting the HTML sidebar to a dynamic WordPress sidebar using widgets.


The single post page is the view controlling the full blog post view. This page has it's own WordPress template file called single.php. 

Along with customising this template, we also cover PHP conditional statements and WordPress conditional tags. This allows us to use the same part template, but serve different content, based on the page being viewed.

Single post page

This is the final page to convert to WordPress. We create a new page template and copy over the content from our HTML page to our WordPress theme.

Converting the about page

In this lecture we integrate a working WordPress search box which is fully functional. We fix the CSS to make the new search look the same as the HTML version.

This search facility also leads us to make changes to the page template, search.php.

We also make use of more WordPress functions to link the logo to the home page, and also generate the websites name dynamically.

Finally we add some finishing touches to the CSS.

Search box & finishing touches
WordPress Networking / Multisite Installation
9 Lectures 51:46

Welcome to the WordPress networking section of this course. To follow along with creating a network, live web hosting is required. However this video does include a link for a workaround to use on a localhost if required.

Multisite intro

Since WordPress 3.0, we have the ability to create a network of sites by using the multisite feature. This video looks at what a WordPress network is, some live examples, and also some cases when not to use a network.

What is a WordPress multisite?

In this lecture we install WordPress in the Bluehost admin on our chosen domain name. We look at the different options available such as sub-domains or sub-directory installation.

Also we configure the required files to convert our installation to a WordPress network.

Activating a WordPress network

This video shows you how to create new WordPress websites and add them to our multisite network. You will also learn how to assign different users to sites.

Adding sites to the network

Now we take a look at the roles of users within our WordPress network. We look at adding users to network sites and the role of the super administrator.

Users & the super admin

Plugins and themes can also be enabled on a WordPress network. The set up is slightly different to a single site installation. We need to consider which plugins and themes we want individual sites to have access to. We can also network enable themes and plugins to be available for all sites.

Plugins & themes

In this video we change the settings to allow users to register on our site and to also allow them to create their own WordPress site within our network.

We also add a menu option to allow users to be directed to the site creation page.

Allowing users to add websites to the network: Part 1

We continue from the last video by creating a new WordPress site from our new registered user. We also look at the settings and how to change to custom email text etc.

Allowing users to add websites to the network: Part 2

This lecture contains some useful further reading links. And also some WordPress network related plugins which you may find useful.

Further reading & WordPress multisite plugin links
Bonus Lectures
2 Lectures 12:40

This video takes you through the steps of how to transfer your localhost version of your WordPress website, to a live server. 

Uploading to a live server

Earlier in the course we created a child theme from scratch by creating the required files and folders etc. This video show an alternative way of creating WordPress child themes using a plugin.

Easy child theme plugins
Thank You
2 Lectures 02:58

Thank you, you are awesome!

Thank you

Keep on learning
About the Instructor
Chris Dixon
4.6 Average rating
1,145 Reviews
14,677 Students
8 Courses
Web Developer and teacher at CodeSmart Academy

Hello, My name is Chris and I am a web developer and online teacher. I am passionate about what I do and about teaching others. I have started various online and offline businesses.

Whatever your reason for learning to build websites you have made an excellent career choice.

My personal motivation was to become my own boss and have more freedom and flexibility in my life. I also enjoy the technical challenge it provides and the way it constantly evolves. I built my first website back in 1999 and i have watched the web evolve into what it is today.

I try to make my courses enjoyable and try to remember what it was like when I was learning. I also believe the best way to learn is by doing and try to include as many practical examples as possible in my courses.

Thanks for taking an interest and I look forward to you joining me.