WordPress Development - Create WordPress Themes and Plugins
4.6 (133 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.
595 students enrolled
Wishlisted Wishlist

Please confirm that you want to add WordPress Development - Create WordPress Themes and Plugins to your Wishlist.

Add to Wishlist

WordPress Development - Create WordPress Themes and Plugins

Make money by creating WordPress themes and plugins and become a better developer.
4.6 (133 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.
595 students enrolled
Created by Luis Ramirez Jr
Last updated 3/2016
Learn Fest Sale
Current price: $10 Original price: $20 Discount: 50% off
2 days left at this price!
30-Day Money-Back Guarantee
  • 6 hours on-demand video
  • 3 Supplemental Resources
  • 1 Coding exercise
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Develop WordPress Plugins
  • Develop WordPress Themes
  • Make money online by selling your theme/plugin on market platforms or on your own personal site
  • License your theme and/or plugin
  • Understand the architecture of a plugin and theme
  • Understand the WordPress core and it's functions
  • Fully Understand WordPress's API and how to interact with WordPress and its system
  • Query the Database and create tables
View Curriculum
  • You should have a good understanding of HTML, CSS, JavaScript, jQuery and PHP
  • You should know how to set up a local environment
  • You should know how to install WordPress and navigate around
  • Web Editor

WordPress is the hottest CMS available on the web.There are hundreds of jobs posted each day online with clients seeking WordPress developers. It's popularity is due to the fact that there are thousands of plugins and themes available online. There's a lot of money to be made with this industry and I will show you how.

This course will help make you into one of the most competitive WordPress developers out there. You will be able to develop custom plugins and themes no matter how hard the task is.

We'll explore the various WordPress APIs and how they should be used. The codex page is filled with examples and each page is quite lengthy. WordPress development doesn't have to be hard to learn. The biggest mistake most coding tutorials make is expecting someone to learn simply by imitating others' code. Real world situations are never exactly like the tutorial.

I believe the best way to learn is to understand how a tool works and what it does for you, look at examples, and then try it yourself. That's how this course is built, with the goal to help you both learn and understand WordPress.

You will also be taught how to sell your plugin online and make a profit. This includes licensing and learning about the various platforms out there to help you with marketing.

Who is the target audience?
  • Web Developers
  • Web Designers
  • PHP Coders
  • Entrepreneurs
  • Users who would like to make money online selling plugins and themes
  • This course is for students who are new to developing plugins and themes and would like to learn the best practices for developing themes/plugins.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 80 Lectures Collapse All 80 Lectures 06:07:37
Getting Started
2 Lectures 08:21

Get an overview about this course. By the end, you'll have a pretty good idea of what you need to learn. Requirements for this course are also included in this lecture.

Preview 03:19

Learn how to install and set up a server along with WordPress.

Preview 05:02
Theme Basics
24 Lectures 01:23:23

File headers help WordPress identify your theme and allow users to active it through it's interface.

Preview 07:02

Add logic to your theme by creating the functions file.

Preview 03:24

The hooks API is the first API you're introduced to in this lecture.

Preview 04:57

It's time to start adding our stylesheets to pages properly.

Preview 05:30

In this lecture we'll take a look at how to load scripts in the header and footer.

Preview 06:02

Before we can start coding the rest of theme, we need some dummy content for reference. In this lecture, you'll learn how to generate some dummy content with the help of a plugin.

Preview 01:24

Creating a menu system is complex. Luckily, WordPress has provided us a simple way to use it's in-built menu system with our theme.

Preview 01:38

Now that our theme supports menus, we can begin displaying them in our theme.

Preview 07:11

Certain sections of themes can be organized into their own files. Let's learn how to do that with our header and footers.

Preview 02:40

It's time to start creating widget areas! We can make the sidebar completely dynamic with just a few lines of code.

Creating Widget Areas

Let's format the sidebars to fit with the rest of our theme.

Formatting the sidebars

You will learn how to format the search form in WordPress.

Formatting the Search Form

The Loop is one of the most important concepts when it comes to developing WordPress themes. Understand how it works in this lecture.

The Loop

Template tags inside the Loop

Learn how to paginate WordPress posts with a few lines of code.


WordPress's template hierarchy determines the order in which templates are loaded.

Template Hierarchy

We will now create a universal template for single posts.

Single Posts

Learn how to add a comment form to a template.

Comments Template

Learn how to create a template for pages.

Page Template

Learn how to create a template for 404 errors.

404 Template

Learn how to create a template for categories.

Category Template

Learn how to create a template for the search page and results.

Search Template

Learn how to create custom templates for pages

Custom Templates

Let's wrap things up by finishing some of the minor details in our theme.

Finishing Up and what’s to come

Test yourself by taking this quiz. Do you truly understand the theme basics of WordPress?

Theme Basics Quiz
5 questions

Let's try and create a file header.
Create a File Header
1 question
Digging Deeper with Themes
11 Lectures 51:44

Learn about all the various APIs WordPress provides out of the box.

WordPress APIs

All themes should have some default settings upon activation. Learn how to create those in this lecture.

Creating Default Settings Upon Activation

The options API is the simplest WordPress API to get started with.

Options API

Every theme needs a page for users to edit the settings. Learn how to do that in this lecture.

Adding a menu page to WordPress Admin

Enqueuing styles in the admin takes a different approach than the front end.

Enqueueing Styles & Scripts in the Admin

Learn how to prepare a form for submission and processing.

Setting Up a Form in the Admin

We process all data submitted from our custom form.

Saving our Settings

This part is really simple. You should be able to handle it without a problem. Just in case, we go over how to display the updated settings.

Displaying the updated setting values

Learn how to upload images and files with the WordPress media uploader.

Uploading a Logo with the WordPress Media Uploader

We polish things up by displaying the settings on the front end.

Finalizing the front end and using the options API once more

Learn what's coming up in the next section.

Going Deeper
Plugin Basics
25 Lectures 02:10:51

Get to know what plugins are all about and learn about the most important file in any WordPress installation. The wp-config.php file.

What are plugins?

Get started by creating your first plugin. We first cover how to create file headers which WordPress uses to recognize our plugins.

Creating a Plugin File Header

Learn how to activate a plugin with the proper functions and hooks. We'll be setting up our activation file in this lecture.

Activating Our Plugin

Security should be your #1 Priority. Learn how to secure your plugin with a few lines of code.

1 Simple Trick to Secure a Plugin

Things are about to get a little bit tricky. We are now going to begin creating our first custom post type. This post type will be for recipes.

Creating a Custom Post Type

WordPress provides a handy way to display our options with metaboxes that matches the design of the admin dashboard. We also get started with the metadata API.

Metadata and Metaboxes

Enqueueing Files

Learn how to add meta data to posts and then grab that saved meta data with the Metadata API.

Working with Meta Data

No more action hooks! There's a different kind of hook called filter hooks. We get started with our very first one in this lecture.

Filter Hooks

This will be a short one. We're going to make the strings in our template translatable.

Making our Strings Translatable

No more APIs. The gloves are off. We're going to be working with the database directly and executing some custom queries.

Creating Database Tables

Before we can begin using the jQuery rating plugin. We first must enqueue and register it.

Including the jQuery Rating Plugin

Sending AJAX Requests from the Front End

We learn how to handle AJAX requests and insert data into the WordPress using WordPress APIs.

Handling AJAX Requests and Inserting Data into the Database

We can now begin displaying the rating to the user. We also start working with raw SQL queries.

Averaging and Displaying the Rating

We can actually extend the table on the recipe main plugin page. Let's customize it by adding our own column and values.

Changing the Custom Post Type’s Table Columns

We'll now begin creating our first widget with the official WordPress Widget API.

Creating a Widget

WordPress provides a system that mimicks Cron jobs or event schedulers. Learn how to create a custom cron job in WordPress.

Cron Jobs

Save and store data for a limited time using the transients API.

Transients API

Let's finish up our widget by displaying the recipe of the day on the front end of the site.

Finalizing our Widget

Let's learn how to create a shortcode. The shortcode API allows us to create custom shortcodes with attributes and more.

Creating a Shortcode

We're actually allowed to use the content editor in our forms. This is the same editor used to create/edit posts.

Including the WordPress Content Editor

Let's finish things up by inserting our post into the database and sanitizing the input.

Sanitizing HTML Input and Inserting a Post

We can actually allow developers to extend our plugin with more plugins using WordPress's plugin API.

Extending our Plugin with the Plugin API

Let's create a very small and simple plugin that utilizes the custom hook we created in the previous lecture.

Sending an E-mail with our Custom Hook
Advanced Theme Development
8 Lectures 01:00:24

It's always a good idea to have clean and understandable code. In this lecture we go over the WordPress coding standards we all should adhere to.

WordPress Coding Standards Overview

Understanding how to work with Child themes will make you a more efficient developer.

Child Themes

We get into the nitty gritty details of how the shortcodes API works.

Diving Deep into the Shortcodes API

The WP_Query class helps us better understand the WordPress Loop and customize it to our needs.

Using the WP_Query Class

A short overview of the differences between the get and non get versions of functions.

Difference between get and non get

Learn how to use the Theme Customizer to update your theme's settings in real time.

Theme Customizer API

In addition to custom post types, WordPress provides a feature called post formats to help separate different kinds of posts.

Supporting Various Post Formats

Requiring help from another plugin isn't a bad idea. We don't want to reinvent the wheel. So, we can include a 3rd party plugin to help with some additional features. We learn how to better streamline that process for the user and the developer.

Creating a Contact Form by Requiring a Plugin
Advanced Plugin Development
10 Lectures 32:54

Let's see what's coming up. I also discuss the difference between the codex and developer pages.


Making your plugin/theme secure should be your #1 priority. In this lecture we go over how to sanitize our queries with prepared statements.

Prepared Database Queries

Cleaning up after yourself is always a good habit to get into. In this lecture, we go over how to completely erase your plugin from a users site.

Uninstalling a Plugin

It's common for developers to create their own widgets on the admin dashboard page of WordPress. Learn how to create your own widget in this lecture.

Creating a Dashboard Widget

The HTTP API allows you to make requests to exteranal or internal sources. It also takes care of using the best solution for the job.

Using the HTTP API to Retrieve Content from External Sources

The rewrite API allows you to modify the URL structure of a site. Learn how to take advantage of this in this lecture.

Flushing the Rewrite Rules with the Rewrite API

We finally go over translating a plugin or theme. Learn how to prepare your plugin/theme for translation for various users to use.


We go over the licensing of WordPress and how it works and what it means to you as a developer. You'll also learn where you can sell your plugin with a lot of buyers!

Licensing and Making Money with your Plugin/Theme

Please consider rating this course! It would mean a lot to me. Thank you very much!

Rate this Course

You did it! I'm proud of you. You've done a lot to come this far. Please let me know if you have any questions or suggestions for more lectures. Thank you!

About the Instructor
Luis Ramirez Jr
4.6 Average rating
133 Reviews
595 Students
1 Course
Web Developer

Web development is passion of mine. I've helped several businesses by taking their products and services online. I love to teach others the best practices for web development and provide free resources and tutorials on my own persona blog.

I strongly believe applying what you learn and I help my students become competitive developers in the real world.