analytics
-
How to Use the Shutdown Hook for Tasks
As a plugin developer, you are adding functionality that is processed each time a user sends a request to the server. You are probably aware of several hooks outlined in…
-
How to Write Great Commits
This week, I’m going to give you a 3 step process for writing perfect commits. If you’re working on code and aren’t using a versioning system, you should definitely start…
-
Collect Usage Data With A Simple Hook
As a plugin developer, one of your biggest hurdles with the WordPress ecosystem is that you don’t have a standard way of gathering metrics on how your plugin is used.…
-
Create CSV Exports of WordPress Data
If your plugin is storing any kind of data for the user, at some point they may want a feature to export that data into a format that they can…
-
Add PHP Compatibility Checks to Your Process
This week, I’m going to walk you through what it takes to start checking your plugin’s PHP compatibility. Every time I start a new plugin, one of the first things…
-
3 Lessons I’ve Learned Building Enterprise WordPress Plugins
Over the last few years, I’ve built quite a few plugins—most of them never installed on more than one site. When a client wants a bit of custom functionality, there’s…
-
WordPress Nonce 101: What are they and why do they matter?
If your plugin has its own settings page and performs any kind of CRUD (Create, Read, Update, Delete) action, then you should be using nonces. If you’ve never heard of…
-
SWPD #014: Does Your Plugin Need a Custom Database Table?
WordPress has grown to be a huge portion of the internet and therefore has been proven to scale really well in the right conditions. At its core, it’s just a…
-
SWPD #013: How to Make Breaking Changes In your Plugin
If you’ve created a plugin in the WordPress repository, you’ve likely been at a point where you need to modify or remove a publicly accessible function. By publicly accessible I…
-
SWPD #012: Semantic Versioning 101
If you have a plugin in the WordPress repository, the plugin team requires that you have a version number. However, I see a lot of plugins declaring arbitrary version numbers…