The #1 resource for WordPress            plugin developers

Welcome to PluginsBay’s WordPress Plugin Development Course

Are you looking to level up your skills and learn to create WordPress plugins instead of just installing them? You’ve come to the right place. You’ll learn how to install the tools you need, all the way up to learning the essential WordPress plugin development tasks.

W

WordPress Plugin Development Course

Creating a New Plugin

C

Before we learn how to make more complex WordPress plugins, we’ll create a basic one and activate it in the WordPress admin.
You must be logged in to view this course.

PHP for WordPress Introduction

P

Let’s review PHP (the language we’ll be using to code our plugins), with notes on using it with WordPress and supporting older hosting companies.
You must be logged in to view this course.

Actions and Filters

A

One of the core concepts that gives WordPress it’s power and flexibility is actions and filters. Let’s go through what they are, and how to use them to modify WordPress, other plugins and even your theme without “hacking” anything.
You must be logged in to view this course.

Adding a Shortcode

A

Shortcodes are a great way to let users add formatted content where they need it, without needing to know any HTML. Here we’ll go through adding one for our plugin, along with providing shortcode options for the user to customize it.
You must be logged in to view this course.

Working with an Individual Post

W

A common thing we’d want to do is get information about the current Post or Page that we’re on. WordPress gives us a bunch of different options to do this, let’s go through them here.
You must be logged in to view this course.

The Loop

T

WordPress has this concept of The Loop (capital L), so what is The Loop? Let’s look at how it works and how we can modify it for our needs.
You must be logged in to view this course.

Custom Post Types

C

By default you get a couple post types with WordPress, namely Posts (which you’d normally use for blog posts) and Pages (which you’d usually use for more static content like Contact and About Us). WordPress also supports the ability for us to add our own custom post types with our plugin, which let’s us turn WordPress into a full featured content management system. Let’s...

Working with Additional Post Data

W

So what if we want to include additional information in a post? Maybe we want site users to specify the location of a news article, and display it before our main content in a certain way. Let’s do that by adding a custom meta box to our WordPress content editor with a field for the user to specify any additional information.
You must be logged in to view this course.

Organizing Our Plugin Code

O

Our plugin code is getting a bit much to have in one file. Let’s split it up into several different files and group some common code together.
You must be logged in to view this course.

Security

S

While the code in the last video worked to save the meta data for our post, we didn’t do any checks that the input is safe and that it’s actually a logged in user giving us the data. We’ll go through sanitizing the input, escaping the output, using a nonce to create a token, and verifying the user has permissions to edit the post itself.
You must be logged in to view this course.

Querying Posts

Q

Learn how to fetch previously entered posts and loop through them. We’ll see how get_posts and WP_Query are different, and query for related content to display at the bottom of our news articles.
You must be logged in to view this course.

Creating a Plugin Settings Page

C

Maybe we want to let our plugin users pick how many related news articles to show, or whether to show them at all? What about calling them something other than related news? These are all things that would be great to have on a plugin settings page, so let’s set one up.
You must be logged in to view this course.

Adding CSS and JavaScript Files

A

WordPress gives us the ability to add or “enqueue” our scripts and stylesheets where we need them, and handle any conflicts or including requirements (like jQuery) for us. We’ll briefly go through how to do this, but more detail is in my free-to-watch Working With JavaScript and WordPress Course.
You must be logged in to view this course.

Dealing with Errors

D

What if a user forgets to enter something in our settings form, or the data is wrong? Let’s handle errors in the input and provide some useful feedback.
You must be logged in to view this course.

Inserting Content Using Code

I

Your plugin might want certain posts or pages to be available to our plugin. Rather then getting the user to create them, why don’t we insert the necessary content when our plugin is activated?
You must be logged in to view this course.

Using WordPress Coding Standards

U

If you have previous experience in PHP you may have noticed some odd spacing in the code we’ve been writing so far. This is part of some of the WordPress coding standards and formatting guidelines, making your code easier for others to work with and contribute to.
You must be logged in to view this course.

Dealing With Older Versions of WordPress and PHP

D

If you’re distributing your plugin to others, it might be activated on (much) older versions of PHP and WordPress. Our plugin should detect this and if using an older version than our plugin supports, we should fail gracefully instead of taking down a site.
You must be logged in to view this course.

Preparing Your Plugin For Translation

P

You have a plugin, but you want users to be able to use it in their native language. Let’s look at how to get it ready for translation, and things to watch out for as you change your plugin over time.
You must be logged in to view this course.

Working With Custom Database Tables

W

WordPress stores the data about posts, pages, custom post types and more in database tables. But depending on what information you’re storing and querying for, it may be a lot more efficient to store it in a new table you create. Let’s learn how to do that.
You must be logged in to view this course.

Improving Performance With Transients

I

If you have content that doesn’t change very often, there’s no reason to query the database each time. With WordPress transients you can save a copy of any results or output to load it quickly, and have it expire after a certain period of time.
You must be logged in to view this course.

Fetching data from an external source or API

F

Your plugin might use other services or data from outside of the current site. WordPress provides some functions for getting that data, allowing you to fetch it on a variety of different WordPress hosting platforms.
You must be logged in to view this course.

Adding a Plugin Introduction Screen

A

One way to help users get started with your plugin is to show a welcome or introduction screen. We can add one when our plugin is activated, the best time to help the user get started.
You must be logged in to view this course.

The #1 resource for WordPress            plugin developers

RSS DIY WordPress Guides

We use cookies in order to give you the best possible experience on our website. By continuing to use this site, you agree to our use of cookies.
Accept
Privacy Policy