This course starts off by saying we’re going to take a look at everything that goes into building a WordPress plugin. While it’s clearly just an introduction, the author, Tom McFarlin, breaks down what will be covered:
- setting up a web server, a database server and PHP
- installing WordPress, and looking at the sample plugins that come bundled with it
- examining the event-driven design pattern and how it factors into creating a WordPress plugin
- looking at the differences between WordPress actions and WordPress filters
- building our own plugin using various WordPress APIs
If you’re just starting from scratch some of that will seem like Greek to you, but Tom makes it simple and explains as he goes. The course has 14 lessons for a total of 1.5 hours of video time, with most of the videos being between 5 and 10 minutes long. I broke it down over a couple of days and found it quite easy to follow along.
He does assume you have some basic HTML, CSS and PHP skills. If you don’t you can check out some introductory material, whether at Tuts+ or elsewhere. It will make the lessons much easier to follow if you understand basic syntax.
Tom makes sure to take a very structured approach to building out the plugin, using object-oriented programming principles. Again, if you’re not familiar with the paradigm, this may be a bit confusing, but it’s not hard to grasp. The event driven concept used by WordPress makes a lot of sense but takes some getting used to. Understanding that is crucial to building a plugin.
The lessons include tips on including styling, and verifying permissions to help you clean up your plugin. Though he doesn’t take you through to putting the plugin on the repository, he does explain how that process would work.
The plugin created in this course enables you to add a notice to a post which gets displayed above the post. It includes a live preview while editing. For a first step, this course is a good start. It doesn’t get into things like plugin settings and options, but gives good coverage of basic fundamentals that will come in handy as you learn more about plugin development.