US $19.97

Creating WordPress Plugins The Right Way

——   Created by Marcelo Vieira

Create your first WordPress plugin using native APIs and classes, manage your own table, and much more

Share this course:

14h 40m
Lesson time
Skill level

More about this course

DISCLAIMER: before you enroll in this course, please read carefully the "Who is this course for?" section below. This course has prerequisites and MUST NOT be taken by students that don't have a solid foundation in programming.

Do you want to stop losing customers for not knowing how to create plugins?

Are you also trying desperately to learn how to create your own plugins, but are not succeeding? You've been trying for a few years now, but still haven't found good and up-to-date teaching material. Then got tired of simply looking at how long is the WordPress documentation for plugin creators.

Plugins are part of what makes WordPress be what it is, the most used content management system in the world, present in more than 30% of sites worldwide! Learning how to deal with the WordPress plugin engine will set you free from third-party tools. It will also put a powerful knowledge in your hands that will help you reach new clients, financial independence, or at least a new job or a promotion at work.

All will start with this course!

This course is unlike any course you've ever seen. It's about 100 lessons, organized in three amazing projects, in which I teach you everything I've been learning over the ten years I've been working with WordPress. Absolutely everything! This course won't hide anything. All subjects are covered in great depth, with the teaching style recognized by my more than 20,000 students around the world!

All this using only native WordPress tools. No using plugins to create another plugin!


What exactly will you learn?

Here is a shortlist of the main topics covered by this course. You will learn:

  • How to use WordPress action hooks and filters to your advantage to control the behavior of plugins and make them more flexible;
  • How to structure your projects in a cleaner and more flexible way using PHP classes and objects;
  • How to use the main native WordPress APIs, classes, and functions to create your plugin. For example, the Settings, Options, Widgets, Shortcode, Metabox APIs, and the methods of the very powerful $wpdb class;
  • How to create custom post types (CPTs), making WordPress the perfect framework for any project you want to create;
  • How to create your own taxonomies, custom menus, options pages, your own widgets and shortcodes with multiple options, metadata boxes with custom fields, etc;
  • How to add stylesheets and javascript in both the admin and the frontend and control them via the options pages;
  • How to install and preview what to do when installing, deactivating, and uninstalling the plugin;
  • How to control the plugin's template in the frontend, as well as create a WooCommerce-like template override system;
  • How to create specific theme support for your plugin.

And much more! How about learning how to manage a custom table for your plugin in the WordPress database?

Do you know all the WordPress tables? Do you know what they do and how they are structured? You'll learn all about them here!

In addition, you will learn how to perform all CRUD actions (create, read, update, and delete data) on your own table using the super powerful $wpdb class.

Have you ever thought of leaving the limitations that the WordPress system imposes and building your project based on a separate table? In this course, you will learn how to do it, understand in which cases it is necessary, and what are the advantages and disadvantages.

And it doesn't stop here...

What about using the frontend to let the user submit data to this table?

I think you didn't see that coming! Well, in this course you will understand what you will need to enable a logged-in user to submit information, which will be stored in a table automatically created by your plugin during installation.

You will also learn how to manage your own users by creating an account for them using native WordPress tools.

All this in a very secure way!

We will be constantly on the lookout for possible security threats that could compromise our application. We will use all security items such as nonces (ever heard of them?), string escaping, validations, sanitization, permission functions, error handling, and $wpdb's prepare() method.

How about making your plugin go international?

You will learn how to create plugins that are fully translatable. Customers from all over the world will be able to use them, as they will be fully compatible with Poedit or any WordPress translation plugin.

How is this course organized?

The course is divided into projects. In the beginning, we will have three projects. It doesn't sound like much, but they will give a fantastic idea of what is needed to basically understand how most of the plugins work.

In the first project, we will create a highly dynamic and fully customizable slideshow plugin. We will start with simple subjects such as directory structuring, methods of installing, deactivating, and uninstalling plugins. Then we will move on to intermediate topics such as CPT creation, the Metabox API (used to create custom fields), we will learn how to manipulate the database by adding and updating values in the metadata tables. We will learn how to control menus and submenus throughout the WordPress admin area.

Also within this first project, we will learn to master APIs such as Settings, Options, and the Shortcode API. We will use everything we learn in this section to control the appearance and behavior of the slideshow on the frontend.

The second project is a testimonial plugin. It looks simple, but the number of techniques that you will learn will surprise you.

In this project, we will review some subjects that you will have already seen in the previous section, and learn some new ones. We will learn a lot about the Widgets API and also how to control the HTML templates used in your plugin, including learning how to implement a simple template override system, which also includes learning how to create a specific theme_support for your plugin.

The third project is the most complete and the most complex of the three. Have you ever needed to create custom tables for your plugin? Do you have any idea how some of the best-known plugins, like WooCommerce (just to name one of them), do to create and manage tables outside of the WordPress realms? Do you know why they do this, what are the advantages and disadvantages? No? Great, because you are going to learn that in this course.

In the third project, you will learn about the WordPress $wpdb class, the one responsible for managing all the custom table CRUD operations in your application. You will learn how to create tables, run queries, add, update, and remove data from those tables, using various APIs that you have learned to master during the course, such as the Metabox and Shortcode APIs.

You will learn how to synchronize these actions so that your table works in tandem with the native WordPress tables. In addition, in this section, you will see how to provide a frontend interface where the site user can submit data, without having to access the WordPress admin. We will also see how to use WordPress' own user control system to manage user actions.

Who is this course for? Are there any prerequisites?

I recommend this course for programmers, IT students, web developers, web designers, or any freelancer or professional who works with PHP, HTML, and CSS. It is recommended that you have notions of object-oriented PHP because all plugins created in the course are based on classes and objects. It is also important that you know how to use the main MySQL commands.

Other than that, all professionals who want to learn how to create plugins are welcome. It is only necessary that you already have previous contact with WordPress and know how to install it on a local server at least.

How is this course different?

What my students like most is my excellent response time to their questions. You know, waiting too long can slow down your progress. So I always try to answer within 24 hours. You can be sure that you will never feel alone in this course.

So, are you ready for this course? Watch the free lessons available before you make your decision. 

You have nothing to lose. You can count on a 30-day 100% money-back guarantee if you don't like it. 

Join us now and learn without limits!

99 Lessons

10 mins
free preview
1 min
FAQ - Frequently Asked Questions
1 min
Course materials (please, download them to follow the course)
8 mins
General Instructions (MUST WATCH)
1 min
List of extra resources by lesson
Before You Begin
11 mins
Initial tips on tools used in this course
free preview
13 mins
What are action and filter hooks
free preview
11 mins
Action Hooks
free preview
11 mins
free preview
Project #1 - MV Slider
9 mins
Getting to know the MV Slider plugin project
free preview
13 mins
Structuring the plugin
free preview
8 mins
Plugins with classes Vs Plugins without classes
View more lessons +

About the instructor

Marcelo Vieira

I'm a web developer specializing in WordPress Theme Development since 2012, having built dozens of websites with the CMS and contributing to the official WordPress …

Read more
This course is included in Arbington Premium
$15/month gets you access to every course. Start your 14 day trial today. ☝️

Class benefits

  • Certificate of Completion
  • 30 day satisfaction guarantee
  • 24/7 streaming access
  • Direct teacher access
  • 14h 40m of on-demand video
  • Have a coupon?
  • Checkout