IMPORTANT: This article remains here for legacy purposes. There are many users who utilize pluggable functions in the plugin and have not updated these processes to utilize hooks and filters. There are also articles buried in this blog that have customizations that use a pluggable function (if you find one, let me know). HOWEVER, pluggable functions, while still supported, are not the preferred way of customizing plugin features. Like WordPress core, these were the original way to customize, but as filter and action hooks were added to the application, pluggable functions were not longer necessary. The API for WP-Members is much more mature than it was when pluggable functions were introduced. There really should be no reason to use pluggable functions at this point. If you are working on customizing on your own and you see no other way than to use a pluggable function, mention it to me as there may be a better way, or maybe there needs to be a new filter or action in the plugin.
Making direct changes to the functions within the plug-in is discouraged because it puts the user in a difficult situation. These types of changes are generally referred to as “hacks” and hacks must be reapplied anytime you upgrade the plug-in. Avoiding upgrades because of the need to update your hacks is a bad practice because upgrades often include important security updates.
So to make things a little more extensible, I have introduced pluggable functions to the WP-Members plug-in. Pluggable functions are functions that can be recreated outside of the plug-in itself without the need to make changes to the core script files directly. This way the plugin can be customized so that when you upgrade, your customizations will not be overwritten. Continue Reading →