WordPress Plugin Development for 2017 - Build 14 Plugins
3.5 (118 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.
3,821 students enrolled
Wishlisted Wishlist

Please confirm that you want to add WordPress Plugin Development for 2017 - Build 14 Plugins to your Wishlist.

Add to Wishlist

WordPress Plugin Development for 2017 - Build 14 Plugins

Learn powerful WordPress development with plugins, APIs, hooks, the WP-Admin & more with free starter plugins to improve
3.5 (118 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.
3,821 students enrolled
Created by Bruce Chamoff
Last updated 12/2016
English [Auto-generated]
Current price: $12 Original price: $50 Discount: 76% off
3 days left at this price!
30-Day Money-Back Guarantee
  • 7 hours on-demand video
  • 7 Articles
  • 7 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Develop powerful WordPress plugins: Both basic and advanced
  • Program using popular Wordpress APIs
  • Learn how to leverage over 20 powerful WordPress hooks through your theme and plugins and how to leverage them to manipulate Wordpress without editing the core
  • Restrict the Wordpress back end menu item from any group of users
  • Modify content from posts and pages on the fly
  • Add links and new menus to the Wordpress admin bar
  • Learn WordPress hooks and why they are so important for theme and plugin programming.
  • Hide certain dashboard widgets from any user
  • Add new fields to user profile pages and save them automatically when the user submits their information.
  • How to add, update and delete WordPress meta data without one line of MySQL
  • Create a social media plugin that allows the administrator to enter addresses for Facebook, Twitter, LinkedIn, YouTube and more. The plugin will both create a widget using the Widget API and a template tag that can be added to any theme.
  • Create new thumbnail sizes and access them from the WordPress media manager and your themes
  • Display messages to other administrators, writers, editors and contributors in the WordPress back
  • Secure your WordPress back end by redirecting unauthorized users back to the home page preventing even hackers can break in with brute force attacks
  • Creating your own WordPress dashboard widgets from scratch
  • Store persistent data in the WordPress database through transients using the Transients API
  • Insert posts and pages automatically behind the scenes.
  • User login detection
View Curriculum
  • Basic WordPress Skills
  • Basic HTML and CSS
  • Basic PHP a plus, but not required

Have you ever wanted to know the secrets behind all the cool things that WordPress plugins and themes can do? This course is offered by an instructor who has developed over 250 WordPress plugins for major corporations and can now teach these skills to you.

For Those Developers Who Would Like To Know How To Develop Powerful WordPress Plugins!

After getting frustrated, because maybe a downloaded plugin does not fit your needs, why not take your WordPress programming skills to the next level and really learn how to develop your own plugins or customize other downloaded plugins to fit your needs?

For PHP Developers

Programming in WordPress is a snap when you already know PHP. This course shows how to take that PHP experience and parlay into professional WordPress development.


Some Videos Come With FREE Complete Plugins

Besides just teaching the advanced concepts, some videos come with complete plugins that can be downloaded and used immediately after some customization as explained in each video.

In this course, I teach the powerful WordPress development concepts from:

  • Developing WordPress plugins: from basic plugins to powerful advanced plugins
  • Adding fields to the user profile page
  • Hook programming and how to use them in your themes and plugins
  • Over 20 popular WordPress hooks available for use in your plugins and themes
  • Changing post and page content on the fly
  • Displaying messages on the administrative back end to writers, contributors and other users
  • User management
  • Writing your own dashboard and sidebar widgets
  • Hiding certain admin links and dashboard widgets from other users
  • Security hacks such as redirecting unauthorized users away from the wp-admin login form.
  • How to create a library of shortcodes in one plugin
  • WordPress' Quicktag API to add buttons to the WYSIWYG editor

When students finish this course, they will have a powerful WordPress programming skill that most developers do not have and trust me, this looks amazing to other programmers and on your resume.

Who is the target audience?
  • Anyone interested in becoming a more powerful Wordpress developer
  • Any Wordpress admin with a minimal knowledge of PHP
  • Programmers wanting to expand their plugin programming expertise
Compare to Other WordPress Courses
Curriculum For This Course
72 Lectures
Introduction and the Basics of WordPress Plugin Development
11 Lectures 54:24

Some programmers ask me why we program plugins for WordPress, so in this video, I explain the details of plugins.

Preview 03:00

Learn the lines of code that make up plugins. I take you through the complete architecture of a plugin and show you how to construct your own.

Details on Plugin Architecture

Two of the most common questions I get are:

  1. "What are the differences between themes and plugins"
  2. and likewise, "What are the similarities between themes and plugins?"

I explain in this video the major differences, but believe it or not, they are not really that different.

Preview 02:54

Check this list out often as I constantly show you how to work with WordPress hooks, which are the most important tool in any WP developer's arsenal for creating powerful and professional themes and plugins. Without hooks, WordPress could not be able to allow developers to extend it.

Preview 00:37

Scenario: What if you or your client's website needs to correct the spelling of your company name? Every time they type a company name, they forget to capitalize the name of the company. For branding purposes, it is important to capitalize the name of the company.

In this video tutorial, we show how to fix any capitalization issues with filter hook called the_filter. This hook allows us to modify any content.

For this example, we show how to fix the common error of spelling "WordPress" with a lowercase "p".

Changing Capitalization in Posts and Pages On The Fly With Filter Hooks

We can create post programmatically when someone submits post data through a form or through another resource such as an RSS feed. In this video, I will show the wp_insert_post() function.

Inserting Posts and Pages Programmatically

User profiles can contain more than just the normal thumbnail and URL. Watch this video on how to create new and additional user fields.

Expanding The User Profile Page With Additional Sections and Fields

In this lecture, we learn how to remove menu items from any administrator user. For example, you may not want a specific admin to have access to plugins or the settings menu.

Code: Hide Menu Items from any Wordpress User

WordPress comes with this really awesome built-in function called bloginfo() that returns all kinds of information, but don't be fooled. This function returns more information that just your regular blog stuff!

Extracting WordPress Settings from Themes and Plugins With Bloginfo(): Part 1

Continuing from the previous video lecture, I continue my discussion on bloginfo().

Extracting WordPress Settings from Themes and Plugins With Bloginfo(): Part 2

Some plugins and themes contain code to create posts automatically whether from any of these:

  • events
  • log entries
  • recipes
  • instructions
  • and more

If we are going to be powerful programmers, we need to have this skill, so in this video, I demonstrate through a plugin how to create WordPress posts and pages on the fly in the background.

Automatically/Programmatically Create Posts and Pages on the Fly!
Plugins Allow Developers To Take Control of WordPress Administrative Back End
9 Lectures 42:05

Through powerful WordPress development, we can change the WordPress back end to suit our needs, especially if we are also the administrator.

Watch this video from the instructor on some of the cool things that students will learn in this section.

Preview 02:06


What if a WordPress website has multiple writers and contributors. There may be guidelines or rules that each writer has to follow. It makes sense to add those guidelines to the top of any form where posts or pages can be added.

In this video, I show how to add that message with any HTML and CSS to the TOP of any form, so writers will see those messages.

Also, see the attached plugin file that you can modify with your own code in this video.

To start a new plugin file, download the attachment and put it in your wp-content/plugins directory. Rename this file as a .PHP file.

PLUGIN #1: Display a Message To All Writers In the WordPress Back End

If you have ever logged into the WordPress back end and see those cool dashboard widgets, you may wonder how to create those. This video has the answer and the code.

Create Your Own Custom WordPress Dashboard Widgets With PHP

Sometimes, the default admin message in the footer "Thank you for creating with WordPress." is just not good enough for our website. We can change it with the code in this video.

After you watch this video, please download the code that contains to hook to change the admin footer.

Programatically Changing The Footer Text In The Administrative Back End

Sometimes, you need a plugin to activate itself. This video teaches students how to do that.

Programmatically Activate Plugins Without Having To Click The Activate Link

Using the hooks in this video, we will add a message to the END of any form where WordPress posts are added or edited. Any HTML or CSS can be displayed.

Please see the Resources section for this video to download a plugin that you can custom from this video.

Adding Messages To Writers At the End of Any Post Editing Form

Have you wondered how some plugins and themes add links to the left side and where the HTML and PHP are generated after the user clicks those links? That is what I show in this video.

In this tutorial, I explain the following:

  • how to add the main link on the left
  • how to add sub-links under those main links
  • how to position those links anywhere on the admin bar
  • the action hook called "admin_menu"
  • the WordPress API functions add_menu_page(), add_submenu_page(), update_option(), get_option()
  • how to create a user form to enter data that will display in our theme
  • showing the data anywhere in our theme, namely header.php and sidebar.php
Adding Menu/Submenu Links to the Administrative Back End & Generating Data Forms

Code: Expand The User Profile Page

Removing Admin Links From Certain Users
WordPress API Programming Commonly Used In Plugins
15 Lectures 01:05:12

The Options API is great for saving options to the WordPress database. They can be set to autoload to save data resources with a simple Boolean variable.

Introduction to the WordPress Options API

The WordPress API is a way to persist data without the need to create web browser cookies. I present all Transient API functions in this one video.

WordPress Transient API For WordPress Websites and WordPress Multisites

Once an option is created, it stays in the database until it is deleted. Unlike transients, options do not expire. I show you how to delete an option in less than one minute.

Options API: Deleting Options

The Options API is not just for single WordPress websites. They also work for WordPress multisites as well. In this video, I explain how to use them in less than 60 seconds.

Options API: Multisites

WordPress' Metadata API is extremely powerful, yet very easy to use and master. In this video, I show how to write one line of code to quickly and safely retrieve information from the three metadata tables in the WordPress MySQL database without writing one line of code.

Introduction to the Metadata API

WordPress' Metadata API also allows developers to change data without writing a single line of MySQL. In this video, I write single lines of code to quickly and safely update the meta data for both users and posts.

Metadata API Continued: Updating Metadata

Just as easily as we can update meta data, we can also add it from scratch and delete it without writing a single line of MySQL. In this video, I write single lines of code to do just that.

Metadata API Continued: Adding and Deleting Metadata

Exercise: Write code to add a first and last name to your WordPress admin

Widgets are perhaps the most complex way of presenting data in WordPress, but they can hold all types of data from HTML to PHP to CSS and Javascript. In this video, I create a simple widget to create a form where the WordPress admin can enter a URL for website visitors to visit and then add a blurb underneath the form.

Sample code is attached in the resources section so you can download it and try the following exercises.

Widgets API: An Introduction in Creating A Simple Widget

Exercise: Add 3 more fields to the Visit Website API and Display Its HTML

Introduction to the Theme Customization API

Bruce explains why shortcodes are necessary and why it is so important to include in our plugins.

Preview 01:46

Shortcodes are WordPress' way to provide writers and administrators a way to call WordPress functions without doing the PHP code themselves. They can return simple data or be controlled with attributes that resemble HTML attributes.

In this video, we create a simple shortcode using the Shortcode API to return the date and time to the website visitor without the admin requiring one line of HTML to dynamically call the date and time. All that is needed is a simple PHP echo statement and I show you how to code that in this video.

Shortcode API - Creating simple a shortcode

In the last video, I taught you how to add a simple shortcode that returns the date and time, but what if the writer wants to change the color of the returned output? They need to add an attribute.

In this video, I teach you how to add code to support shortcode attributes.

Shortcode API: Adding Support for Attributes

This plugin comes specifically bare. It only shows the date and time, but in this exercise, students must add support for up to 5 attributes. Read the text in this lecture to see what attributes you should add.

Also, feel free to add your own attributes.

PLUGIN #2: Date & Time- Students Must Add Extra Attributes to Shortcode

Test your knowledge of the APIs that I taught in this section.

WordPress API Review Quiz
5 questions
HOOKS: The Most Important Tool In Your WordPress Plugin Development Toolbox
7 Lectures 31:15

In this introductory video, I explain the benefits of WordPress hooks and their importance for themes and plugins.

Preview 01:36

The process of writing hooks is easy if we know the basics. In this video, I will explain how to write hooks and their callback functions. You will find them easier than expected.

How To Write A Hook and Specify Its Callback Function

Hooks come in two flavors. I explain both here and how each type effects WordPress.

The 2 Types of Hooks

Writing The Filter Hook and How To Change Your Post Content Dynamically

Sometimes you have a specific CSS class that you want to include somewhere in the body without the worries of hard-coding them in a theme. If you distribute a plugin with its own CSS classes, you can tell WordPress to add them to the <BODY> tag. I explain how to do that in this video.

Filter Hook: Adding CSS Classes To The HTML Body Tag

Making Things Happen After WordPress Initializes & Minimizing Server Overhead.

Maybe you want to create a theme or plugin that has value for the user. Facebook share buttons are always great for this purpose. I explain how to do it in this video for your theme, but the next video will take the "theme" concept and show you how to do the same thing in your plugins.

Using Hooks To Add A Facebook Share Button To Any Post or Page

This quiz helps students access their knowledge of writing WordPress hooks.

Hooks Development Quiz
5 questions
Developing WordPress Plugins
4 Lectures 28:44

Watch this video to see what every plugin needs and how to make WordPress list it in the Plugins section of every installation.

Preview 04:24

This is the start of our plugin. We start with the basics by declaring our plugin to WordPress. Then, we add a title, description, version number and author information.

From there, we add our hooks and callback function.

By the end of this video lecture, our plugin will be ready to use.

Please see the resources section of this lecture to download this plugin for free. We will be building it up in subsequent videos in this section.

Create A Basic Plugin That Shows Hello World After Every Post or Page

Some WordPress themes do not always display a post or page's featured image, creating frustration for the administrator. This plugin will always display the featured image regardless of what the theme is doing. It saves time and headaches for the administrator.

Create a plugin to always display and center the current post's featured image

The Hello Dolly plugin is probably the most deleted plugin on most WordPress websites, but it serves as a great beginning to plugin development, so in this video, I take you through the code. In the NEXT video, we will spin our own version of Hello Dolly that is personally suited to us.

Dissecting The PHP and WP code for the Hello Dolly Plugin
Creating and Processing Thumbnails for Post Featured Images
5 Lectures 15:25

We can programmatically create thumbnail sizes instead of using the defaults that come with WordPress such as 'thumbnail', 'large', etc. In this video, I show you how to add image sizes including their width, height and cropping options and then how to apply them to a WP_QUERY loop.

Creating New Image/Thumbnail Sizes

We can tell WordPress how to position crops when adding images.

Alternative Cropping Positioning Settings When Creating Thumbnails/Images

We can include our custom thumbnail size in a hook called "After Theme Setup" which lumps together multiple functions after the theme is loaded into WordPress.

In this video, I demonstrate how to set up this action hook in the functions.php of my theme. This hook makes your theme more efficient.

Adding Thumbnail Sizes With the "After Theme Setup" Action Hook

When adding media to our posts and pages, we can select exactly what custom images to include in the image selector with 6 lines of code activated by a filter hook.

In this video, I show how to code the image_size_names_choose filter hook to make this happen.

Adding Our Custom Thumbnail Sizes To The WordPress Media Manager

There may be a situation when you need to retrieve just the thumbnail URL of a featured image. One use could be to send people a logo or to link to one from any post of page, other than the featured image from a current ppost that displays through WP_QUERY.

In this video, I show you several ways to get that information from obtaining the post ID to getting the ID of the thumbnail (called the attachment in the WordPress world). The URL will be retrieved with these variables.

Getting the Thumbnail Link From The Post ID

Test your knowledge on image size development

Image Size Development Quiz
5 questions
More Quick and Simple, but Powerful Plugins
6 Lectures 01:03:48

We have all seen the lyrics to Hello Dolly thanks to this plugin that gets distributed with every WordPress installation, but what if we want to CHANGE those lyrics? We can with this plugin.

In this video, I teach you two action hooks to change the lyrics as well as the admin_head action hook to dynamically add CSS styles that would not come with the admin's theme.

PLUGIN #3: Change Hello Dolly Plugin To With YOUR Favorite Song Lyrics

This video explains how to capture users in various criteria and show messages specifically to them. The accompanying plugin for this video contains code for all scenarios.

In the video, I teach you how to detect who the user is and to capture information about them such as username, email, first and last name. We do not get their password for privacy reasons.

PLUGIN #4: "User Greeting" Sending Messages To Specific Users

Just because an authorized user does not know the administrator login information does not mean that they can still hack the form. Hackers can use brute force techniques to enter with improper security settings.

In this video, we look at code to protect our backend in a private administrator environment where we can redirect unauthorized users and hackers to our home page.

This video also includes a plugin that you can customize in the Resources section.

PLUGIN #5: Login Protect...Protect Login Form From Unauthorized Users/Hackers

In this video, I demonstrate how to add code to any plugin or your theme's functions.php file to replace content entered into any post or page using the WordPress filter hook called "the_content" and PHP's ereg_replace to replace dynamic code with regular expressions. We use an example of generating a secure Paypal form with Paypal's hosted button ID.

Additional concepts in this video explains why we need to wrap our WordPress plugins within PHP classes to prevent duplicate naming problems that normally occur with WordPress plugins.

PLUGIN #6: The Paypal Button...Generate HTML in Posts & Pages With Filter Hooks

This is a complete video on creating a social media plugin that allows the administrator to enter addresses for Facebook, Twitter, LinkedIn, YouTube and more. The plugin will both create a widget using the Widget API and a template tag that can be added to any theme.

PLUGIN #7: My Social Media...Displaying Icons For Our Social Network Profiles

You can create a library of as many shortcodes as you'd like and put them all into one handy plugin. Here, we create a basic library of 2 basic shortcodes and you are free to add as many more as you'd like.

PLUGIN #8: Shortcode Text Snippet Library
Plugin #9: Media File Unzipper
4 Lectures 29:53

In this video, I demonstrate the plugin works.

Preview 02:08

We are taking this a few steps at a time. In this video, I will show you how to get the menu link on the left and how to display the upload form.

Creating Our Menu Link and Upload Form

This is part 1 of the code where we complete the plugin. In this video, you will learn how to:

  1. identify the correct uploads directory
  2. unzip the file with the ZipArchive object
  3. check for allowed file types.

Get the finished plugin in the Resources section for this video.

Processing The Uploaded Zip File (Part 1)

This is part 2 of the code where we complete the plugin. In this video, you will learn how to:

  1. prepare the information for image files before they enter the media manager 
  2. create the attachment (formal name for files in the media manager)

Check out the Resources section of the previous video (part 1) for the entire plugin.

Processing The Uploaded Zip File (Part 2)
Plugin #10: Tabbed Instructions in WP-ADMIN
4 Lectures 48:36

I show you how the tabbed instructions work as well as how to:

  1. call and link the CSS file
  2. add a menu item
  3. and what WordPress hooks to use to get the tabs displaying

Preview 12:26

Building and Populating The Tabs

Customizing The Tabbed Instructions Plugin (Part 1)

Customizing The Tabbed Instructions Plugin (Part 2)
Even More Quick and Simple, but Powerful Plugins
4 Lectures 34:43

We can use Quicktags, which are tiny buttons in the WordPress editor. As developers, we can build them with simple PHP and HTML as well as Javascript. Download the plugin in the Resources section.

Plugin #11: Build Quicktags That Insert Any Data With Simple PHP

Plugin #12: Quicktags WIth Selected Text

Although most WordPress themes come with their own search bars, they search everything from posts, pages, and custom post types, but if you just want a search bar to work for a specific custom post type and not posts or pages. We will develop this plugin to accomplish that. We will develop this plugin as a shortcode that can be added anywhere in a theme or the content editor.

Plugin #13: Custom Post Type Search Engine

I Have a plugin that you can customize to allow the admin to add ratings with custom background colors and icons. It is based off of a star rating system, but you can substitute any icons you like instead of stars and customize the HTML and CSS anyway you see necessary,

Plugin 14: Post Rating Shortcode
2 More Sections
About the Instructor
Bruce Chamoff
4.2 Average rating
826 Reviews
22,774 Students
11 Courses
Web Developer of 20 Years and Songwriter of Over 40 Years

CEO of the Web Designer Mall, a one-stop shop for all web designers and web developers.

I have designed and developed over 1,000 websites in the past 20 years for companies of all sizes from small businesses to major Fortune 500 corporations. Being the owner of a prestigious online mall for web developers, I have programmed everything from WordPress to Drupal to Joomla to simple HTML5.

Involved in the WordPress Community. I am also a speaker at WordCamps in the United States. 

The Music, The Songwriting

I love writing, recording, and producing music, mainly my own originals. I play sax and piano and have over 150 songs. Yes, I should have gone for that record deal, but I still enjoy the process of making music!