1. Code
  2. Learning Guides

Learn WordPress Development

WordPress is free web software you can use to create beautiful websites, blogs, or apps. If you want to learn WordPress development, you're in the right place!

We've built a comprehensive guide to help you learn WordPress development online, whether you're just getting started designing and building your first theme, or you want to explore more advanced topics such as creating plugins or using the WordPress REST API. This Learning Guide will help you: 

  • Design and build your first WordPress theme.
  • Customize your themes to suit your needs or sell online.
  • Add eCommerce features into your themes using WooCommerce.
  • Develop and use WordPress plugins.
  • Build apps that harness the power of WordPress.

If you prefer to watch a series of videos that take you through similar topics, try our WordPress tutorial with Adi Purdila. You'll get two hours of video instruction aimed at WordPress beginners, taking you through everything from installation to creating and managing content. By the end, you'll know how to use WordPress to create sites you're proud of.

1. What Is a WordPress Theme?

A WordPress theme is a group of files that determine the look and presentation of the content on your website. WordPress themes have been instrumental in driving the success of the platform and allow users to quickly and easily change the way their website looks and works.

What Are WordPress Plugins?

WordPress themes are perfectly complimented by WordPress plugins. WordPress themes are for presentation, and WordPress plugins are for functionality.

To learn more about WordPress themes and plugins, check out our tutorials.

2. How to Build Your First Theme

Designing WordPress Themes

Before you can build a WordPress theme, you need to design it (or have a design to work with). In our course Designing for WordPress, you’ll learn the fundamentals of WordPress theme design and all the design considerations you need to think about, from the smallest widget to the largest and most complex page.

Building on a Foundation

If you're building a theme for the first time, you'll want to start with a strong foundation. We've got two courses that cover building a theme using different foundations:

  1. Bootstrap: Bootstrap is an open-source framework that's designed to give you a head start in developing responsive, mobile first projects on the web.
  2. Underscores: Underscores is a starter theme by the makers of WordPress themselves. It's designed to give you a “1,000-hour head start” on WordPress theme creation.

FREE COURSE: Learn PHP for WordPress

WordPress makes it easy to create content-rich websites, with powerful admin pages and the easy-to-use Customizer. However, there will come a time when the built-in options aren't enough, and you'll need to modify a theme or create your own plugin. That's where PHP comes in. PHP is the programming language that WordPress is built in, and if you want to take your WordPress skills to the next level, you'll have to learn PHP.

In this free course, Rachel McCollin will give you an overview of what PHP is and how it's used for WordPress themes and plugins, with examples. You'll go on to learn how to create a PHP file and use it to output HTML. Then you'll learn to use functions, loops and if statements for coding custom WordPress themes and plugins.

WordPress Coding Basics

In these Coffee Break Courses, you'll learn everything you need to know to get started coding WordPress.

3. How to Customize WordPress

Once you've built a basic theme, don't stop there! There are many ways you can customize WordPress and power it up! Learn how to create a more complete package for your clients and theme buyers.

WordPress Gutenberg

Gutenberg is a brand-new editing interface for WordPress. Gutenberg is a major change coming to WordPress 5 this year, and it will affect WordPress plugin developers, theme designers, and website creators.

In the Coffee Break Course below, you'll get a first look at Gutenberg. Rachel McCollin will show you how to set up Gutenberg as a plugin on your existing site, and how to get started using the Gutenberg editor to create content. Follow along and you'll get to experience some of the new features of Gutenberg first-hand.

Once you've got an basic understand of Gutenberg, learn how to get started creating blocks with specialized WordPress plugins that extend the functionality of the Gutenberg editor in our course Coding Blocks for WordPress Gutenberg. Alternatively, learn a simple way to build Gutenberg blocks without using JavaScript in Building Gutenberg Template Layouts Without JavaScript.

WPBakery Page Builder

WPBakery Page Builder for WordPress (formerly known as Visual Composer) is probably the most popular page builder on Envato Market. Sitting at over 350,000 sales to date, this plugin is bundled with a large number of WordPress themes sold on ThemeForest.

Learn how to integrate WPBakery Page Builder in your WordPress theme and customize it to fit your specific theme requirements.

Coding Advanced WordPress Theme Templates

Template files are at the heart of every WordPress theme. If you've already started creating WordPress themes, chances are you have some experience with coding template files. But there's always more to learn!

In Coding Advanced WordPress Theme Templates you'll learn how to customize your themes with advanced theme templates. You'll create an advanced WordPress theme for a blog and along the way you'll learn different ways to code the Loop, how to create templates for custom page and post types, how to create templates for custom taxonomies, and how to use conditional tags to make your templates more flexible.

Custom Front Page

WordPress.org and ThemeForest have hundreds of great custom themes that you can use to create a beautiful site, but sometimes you need to customize the front page.

In Create a Custom Front Page With a WordPress Theme Template, instructor Rachel McCollin will show you how to go from a plain homepage using the WordPress 2016 theme to a custom page with a slideshow, static content, a widget area, and custom loops. By the time you finish, you'll be able to create your own custom front page with WordPress template files!

Custom Content Types

The default "Page" and "Post" content types are enough for many websites and blogs, but in order to really harness the power of WordPress as a CMS, you'll want to create custom content types with fields and taxonomies specific to your particular application.

In Using Custom Content Types in WordPress, you'll learn how custom content types work with the WordPress database, plugin, and templating system. Along the way, you'll use custom post types, custom taxonomies, and custom fields to build a simple astronomy CMS for displaying information about the largest moons in the solar system!

Creating a WordPress Theme Options Page

In the past few years, WordPress has grown to be arguably the most popular content management system out there. This growth has been supplemented by a huge number of community-made themes, most of which include some form of advanced back-end customization. The most popular form is a theme options page, but creating one is not as straightforward as you may think.

In Guide to Creating a WordPress Theme Options Page, you’ll learn the basics of creating your very own theme options page, and the result will be a set of tools you can use right away in your own theme.

Guide to The Loop in WordPress

The Loop is at the core of WordPress's post rendering engine. With The Loop, WordPress formats each post to be displayed on the current page. If you want to customize the way posts are displayed in your WordPress theme, you'll need to come to terms with The Loop.

In Guide to The Loop in WordPress, you'll learn how The Loop works in WordPress. You'll learn how to modify The Loop in your themes and plugins. You'll also see how to create a loop from scratch for the ultimate in customizability.

Make Your Theme's Design Customizable With the WordPress Customizer

The WordPress Customizer is a great way to tweak the look of a WordPress site. It's especially great for end users of your themes. They can see their changes in real time, and they don't need to know any coding to customize their site for their own branding. Even better, your theme can add custom settings to the Customizer that will let users go even further in customizing the theme to their own tastes.

In Make Your Theme's Design Customizable With the WordPress Customizer, you'll learn how to add settings to the WordPress customizer so users of your theme can edit the layout, colors, and content of their site.

Customizing the WordPress Admin

When you deliver a WordPress site to a client, you might want to customize the admin pages as well. You could add custom branding, some help text to further explain how the CMS features work, or an easy-to-edit content sidebar. 

Learn how to customize the WordPress admin screens to create a bespoke version of the WordPress admin for yourself and your clients in these courses.

For more on creating custom admin pages for WordPress, read our series of tutorials.

Adding Client Customization

Themes let you customize every aspect of the design and functionality of a WordPress site. But what if you want to let your client customize some aspect of the theme? Perhaps you want to sell a theme on Envato Market, and you want to let buyers adjust the color scheme and logo to match their brand. That's where the WordPress theme Customizer comes in. By making your theme Customizer-ready, you let site owners instantly change their website look and feel from within the WordPress admin UI.

In this course, Envato Tuts+ instructor Rachel McCollin will teach you how to harness the power of the Customizer in your themes. You'll see how easy it is to let users of your theme customize the color scheme of their site and add elements like logos and text.

Create Custom Queries in WordPress

On every page that your site displays, WordPress runs a query to determine whether to retrieve a static page or generate an archive list. Usually the default query is enough, but sometimes you want to go a little further. That's where WP_Query comes in. WP_Query is a powerful tool you can use to customise the way your WordPress site queries the database.

4. How to Build eCommerce Themes

Adding WooCommerce Support

WooCommerce is the most popular eCommerce platform on the web and the most popular way of bringing eCommerce to WordPress. If you're authoring a theme for ThemeForest, you should consider WooCommerce compatibility as a way to increase sales. And if you're creating an online store, you might be surprised at how easy it is to add WooCommerce support to any third-party theme.

In this Coffee Break Course, you'll learn how to ensure your theme is compatible with WooCommerce. It only takes a few extra lines in a theme's functions.php file. It's easy to do, and best of all, it even works to add WooCommerce support to a third-party theme.

WooCommerce Themes

WooCommerce provides a lot of power and flexibility for simple storefronts out of the box, but to build truly outstanding sites, we have to dig a little deeper. In these courses, Envato Tuts+ instructor Rachel McCollin will teach you how to make use of the WooCommerce API to ensure that the screens on your store fit with your overall theme and your store’s brand. You'll then learn how to enhance your WooCommerce site with features such as embedded video, mega menus, and filter menus.

5. How to Develop Your Own WordPress Plugins

One of the great things about using WordPress is the vibrant plugin ecosystem. There are many thousands of different plugins that promise to improve every aspect of your site. With the right plugins, your WordPress site will run more smoothly, get more visitors, and be less likely to face problems.

In Essential WordPress Plugins, you'll learn how to install and configure free plugins for backup, security, caching, and SEO.

If you want to get started coding your own plugins for WordPress, then 3 Practical Projects to Learn to Code WordPress Plugins is a great first step. You'll learn to code plugins with a series of practical projects. With a little work, you could use these plugins in your own sites!

If you can't find the right plugin for the functionality, why not build it yourself? In the course Introduction to WordPress Plugin Development, you'll learn about everything that goes into building a WordPress plugin, and you'll finish up by building your own fully functional plugin.

6. Dig Deeper

Keep Learning WordPress

Follow the Masters

WordPress is constantly evolving, and the best way to stay on top of your game is to immerse yourself. Pay attention to what top WordPress developers are doing and you will learn plenty. Here are just a few people on Twitter you should be following:

Weekly Digests

Make sure you're also subscribed to our weekly digests to get a comprehensive summary of all our new code and web design tutorials each week, delivered straight to your inbox.

Learn in a Community

Why not find your own heroes on a social coding site like GitHub, ask questions on StackExchange, or join the WP Developers’ Club? The best thing about networks like these is the advice everybody gives each other; if you have a problem, someone will have had it before you and will be willing to lend a hand. Remember, you can always ask for help in our forum!

More WordPress Resources

Coffee Break Courses

Advanced Courses


7. How to Sell Your WordPress Themes

Have you built a fantastic WordPress theme with your newly developed skills? Is it something that other people would find valuable? Why not think about selling your theme?

The largest WordPress theme marketplace on the web is ThemeForest, but there's lots to think about before you dive in. We have two tutorials that will help you think through whether your theme is ready to be sold.