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.
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.
- WordPressWhat Are WordPress Themes?Tom McFarlin
- WordPressWhat Are WordPress Plugins?Tom McFarlin
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:
- 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.
- 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.
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 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.
- WordPressWordPress Coding Basics: Learn PHPRachel McCollin
- WordPressWordPress Coding Basics - Template PartsRachel McCollin
- WordPressWordPress Coding Basics: WidgetsRachel McCollin
- WordPressWordPress Coding Basics: The LoopRachel McCollin
- WordPressWordPress Coding Basics: Navigation MenusRachel McCollin
- WordPressWordPress Coding Basics: Your First PluginRachel McCollin
- WordPressWordPress Coding Basics: Write a FunctionRachel McCollin
- WordPressWordPress Coding Basics: Attaching Your Functions to HooksRachel McCollin
- WordPressWordPress Coding Basics: Enqueuing Scripts and StylesRachel McCollin
- WordPressWordPress Coding Basics: Conditional TagsRachel McCollin
- WordPressWordPress Coding Basics: Adding Hooks to Your ThemesRachel McCollin
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.
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.
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.
- WordPressCoding Advanced WordPress Theme TemplatesRachel McCollin
- WordPressCreate a Custom Front Page With a WordPress Theme TemplateRachel McCollin
- WordPressUsing Custom Content Types in WordPressRachel McCollin
- WordPressGuide to Creating a WordPress Theme Options PageAdi Purdila
- WordPressGuide to The Loop in WordPressRachel McCollin
- WordPressMake Your Theme's Design Customizable With the WordPress CustomizerRachel McCollin
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.
- WordPressWordPress Admin CustomizationAdi Purdila
- WordPressCustomize the WordPress Admin PagesRachel McCollin
For more on creating custom admin pages for WordPress, read our series of tutorials.
- WordPress PluginsCreating Custom WordPress Administration Pages, Part 1Tom McFarlin
- WordPress PluginsCreating Custom WordPress Administration Pages, Part 2Tom McFarlin
- WordPress PluginsCreating Custom WordPress Administration Pages, Part 3Tom McFarlin
- WordPress PluginsCreating Custom WordPress Administration Pages, Part 4Tom McFarlin
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 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:
- @tutspluscode (you aren't already?!)
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
- WordPressCalypso for WordPress Site ManagementRachel McCollin
- WordPressLaunch a WordPress Site From Development to LiveRachel McCollin
- WordPressUnderstanding the WordPress Theme Template HierarchyRachel McCollin
- WordPressCustomize Your WordPress Site With a Child ThemeRachel McCollin
- WordPressAnatomy of a WordPress Theme Template FileRachel McCollin
- WordPressHow to Display Custom Fields in a WordPress ThemeRachel McCollin
- WordPressRegistering Custom Post Types and Taxonomies in WordPressRachel McCollin
- WordPressCreate an Archive Page With Custom Taxonomies in WordPressRachel McCollin
- WordPressSecure Your WordPress Site With SSLBilal Shahid
- WordPressIntroduction to the WordPress REST APIBilal Shahid
- WordPressComplete Guide to WordPress MultisiteRachel McCollin
- WordPress REST APIGet Started With the WPCOM.js WordPress APIReginald Dawson
- WordPressCode a React App With the WordPress REST APIJeremy McPeak
- WordPressWordPress Security Top TipsReginald Dawson
- WordPressBuilding a WordPress Theme Documentation TemplateAdi Purdila
- WordPressThe Complete Guide to Migrating WordPressRachel McCollin
- WordPressCommand-Line WordPressTom Whitbread
- WordPressHow to Determine What to Build With WordPressTom McFarlin
- WordPressAdding Custom Hooks in WordPress: Custom ActionsTom McFarlin
- WordPressAdding Custom Hooks in WordPress: Custom FiltersTom McFarlin
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.