Here’s a thoughtful and insightful post by Jen Mylo on negativity and meanness in online communities.
Notices are Errors
One of my big pet peeves with WP plugins and themes is that so many of them trigger PHP notices and warnings by failing to check if array indices exist before referencing them, or checking if a file exists before including it, etc. It may seem trivial, but even if you don’t care about the […]
Using Singletons in WordPress Plugins
Eric Mann and Mika Toppa have been creating a interesting conversation about the use of the Singleton pattern within WordPress plugins. Eric started it with his article in defense of the pattern, and then Mike wrote a thoughtful response. Both make compelling cases for their position, and both avoid the teenage dickery that often accompanies […]
Creating Object-Oriented WordPress Plugins That Implement MVC
I’ll be giving a presentation at theĀ Seattle WordPress Developers Meetup tomorrow about how to write WordPress plugins that are both object-oriented, and implement the Model-View-Controller pattern.
If you plan on attending, you can follow along with the slides and download the lab files.
Grandchild Themes in WordPress
It’s not possible to create grandchild themes in the same way that you create child themes, but you can use a plugin to dequeue/enqueue stylesheets and scripts, and also override the locations of the main query templates.
It’s obviously not the ideal solution, but there are cases where it may be the least-bad one.
Preventing a Plugin from Automatically Updating
In an ideal world you’d never have to fork a plugin, because developers would always make their plugins extensible with hooks, just like WordPress itself does. But unfortunately that’s not usually the case, and it’s sometimes necessary to directly modify a plugin to make it do what you need. In those cases, you want to […]
WordPress Security Plugin Recommendations
I recently spent some time reviewing the WordPress security plugin landscape, since there’ve been some big changes in the past year, and I’ve decided to update some of my standard choices. No single plugin covers all the different requirements, so it’s necessary to use a combination. That can be a problem, though, because the feature-sets […]