Understanding Plugin Organizer configuration priority

The WordPress plugin called Plugin Organizer allows you to choose which plugins are loaded on particular pages within a WordPress site and allows you to choose the order that they are loaded. This seems to me to offer a pretty exciting piece of WordPress site functionality in that it allows you to focus the functionality you need in the particular place where you need it, which I believe could provide a big performance boost in general. And I think it has the potential to help a lot with the SoFA website in particular, although I still need to work with Website Development Circle to test it. In fact, I think that at least the selective enabling feature might be something that would be good to have as core WordPress functionality, but that’s a separate conversation. Plugin Organizer, however, is a bit challenging to understand, so I want to provide a bit of documentation here.

Plugin Organizer provides several different ways to configure the conditions in which various plugins are enabled or disabled, and it’s not immediately clear how they interact with each other. There is a support topic that discusses the interaction between these sections, and after finding that topic and playing with some examples, what follows is my understanding of how Plugin Organizer applies configurations from different sections.

First, Plugin Organizer has a Global Plugins section, which allows you to enable or disable plugins site-wide. Specifying plugins in any other configuration section will override the Global Plugins configuration.

Next, you can use the Post Type Plugins section to enable or disable plugins based upon particular post types. If you have enabled Custom Post Type Support for a particular post type, then the Post Type Plugins configuration will override the Global Plugins configuration for that type. Also, only if you have enabled Custom Post Type Support for a type, then you can override this Post Type Plugins configuration when editing a particular post of that type. You can do this on the editing page for such a post.

You can also use the Plugin Filters section to configure what plugins are enabled or disabled for sections of your site based upon URL patterns that match pages being visited. It is important to note that the Plugin Filters configuration only applies to pages that are not one of the types enabled in the Custom Post Type Support setting: the Post Type Plugins configuration takes precedence over any Plugin Filters configuration.

Another point to note is that if you have turned on the Disable Plugins By Role setting, you have to enable and disable plugins independently for each role that you select in the Role Support setting, and also for the Not Logged In and Default Logged In pseudo-roles. This could be confusing—and could make it look like Plugin Organizer is not functioning correctly—as a particular configuration set starts off applying to the Not Logged In pseudo-role, and you may likely be testing (as I was) with a logged-in account.

1 Like