Plugin Organizer

Plugin Banner

Plugin Organizer

by Jeff Sterup

Download
Description

This plugin allows you to do the following:
1. Change the order that your plugins are loaded.
2. Selectively disable plugins by any post type or wordpress managed URL.
3. Adds grouping to the plugin admin age.

WARNING: Reordering or disabling plugins can have catastrophic affects on your site. It can cause issues with plugins and can render your site inaccessible.

  1. Extract the downloaded Zip file.
  2. Upload the ‘plugin-organizer’ directory to the /wp-content/plugins/ directory
  3. Activate the plugin through the ‘Plugins’ menu in WordPress
  4. Use the menu item under settings in the WordPress admin called Plugin Organizer to get the plugin set up.

IMPORTANT: To enable selective plugin loading you must move the /wp-content/plugins/plugin-organizer/lib/PluginOrganizerMU.class.php file to /wp-content/mu-plugins or wherever your mu-plugins folder is located. If the mu-plugins directory does not exist you can create it. The plugin will attempt to create this directory and move the file itself when activated. Depending on your file permissions it may not be successful.

Note: If you are having troubles you can view the documentation by going to https://www.sterup.com/wordpress-plugins/plugin-organizer/documentation/

  1. Settings page example.

    Settings page example.

  2. Global plugins page.

    Global plugins page.

  3. Search plugins page.

    Search plugins page.

  4. Post type page.

    Post type page.

  5. Group and order plugins page.

    Group and order plugins page.

  6. Page edit screen.

    Page edit screen.

Great Plugin

By Josh Journey (ljosh) on April 10, 2025

Great plugin for re-organizing boot order for plugins along with ability to disable based on various conditions such as post type, posts, pages, and search view.

Thank you. 🙂

The most complicated, least documented plugin I've ever seen

By synthezoid on October 17, 2024

I heard this plugin would allow me to turn off certain plugins on certain pages.

Maybe it does that. I don't know. I can't tell.

There are no explanations, no instructions, just six pages with a million settings that don't clearly explain what they are or how you can use them to turn plugins off by page.

I looked at the support forum. Most questions are too technical to understand. Many are unanswered.

I would have given it two stars because it's free, but then, I tried the documentation link, and it lead to a 404 page. There is no excuse for that. If you can't even provide a page of documentation explaining how to get any use out of your incredibly complicated, totally incomprehensible plugin, that's 0 stars.

The Most Important Plugin On WordPress

By littleideasbigdreams on September 29, 2024

This might just be the most important plugin you can have on your WordPress website, especially when running lots of plugins. A masterpiece, and I sincerely hope Jeff maintains it, WordPress as a whole will be missing out massively without it. Thank you for your great work Jeff!

Fantastic

By kodingschools on November 16, 2023

Fantastic plugin bro

Thank you for this masterpiece

Works

By Kaleu_87 on October 19, 2023

Works

Good

By led69 on July 15, 2023

I was able to deactivate a deadline reporting plugin script files (plugin
FLY) only on PC and not mobile, so the opposite of what is usually done.
It seems to work, but you have to find the right setting…

Great plugin!

By dimitrisv on May 7, 2023

I know that a $50 donation I made is impossible to pay back the value of this plugin.
It played a key role in creating the fastest e-commerce site in my native country that scores 100% in GT Metrix and PageSpeed (97% on mobile)

Keep up the good work!

This is a game changer

By creactivemind on December 26, 2022

All I can say is, God bless you for making this plugin.

My FAVE, for YEARS!

By ideahost on December 16, 2022

I honestly don't know how anyone can build a site, with lots of custom coding, lots of great plugins, and not have this one. IT IS A GODSEND. I can "turn off" any plugin on any page, to avoid conflicts, speed page load, and even just for testing. It is a WONDER. I can create filter groups, to apply to whole sections of a site. I can enable and disable for backend as well. As someone else has said, this plugin should be in the WP core. No more clunky renaming plugins to see which one is conflicting. Just turn off a plugin on the errant page, or pages. SERIOUSLY, I have been using this plugin for as long as I can remember. I load two plugins the moment I build a site (over a hundred to date): I load an Under Construction plugin, and this one. Period.

clumsy interface + doesn't store load order

By eLeXeM (elexem) on October 24, 2022

bit of a mixed bag. :/ First of all, this is a very complex plugin, and the developer has obviously invested much effort to make it as configurable as possible. This laudable endeavour appears to have been stymied by his being much more of a coder than a UI/UX-designer, as it would seem. The interface is daunting to begin with and, by the time of this writing, simply not up to par with what can be done + expected in 2022; it looks and handles like something harking back to the (very) early days of WordPress. Unexperienced users will hence be flat-out overwhelmed + are unlikely to achieve the/ir desired results. Enabling / disabling plugins by filter rules e.g. is rather unintuitive and takes a lot of trial & error to figure out properly (and the documentation does next to nothing to help with that). Once you tweaked your way thru the hassle, tho', it does do its job; so that's that. Where it doesn't perform is the vital Load Order functionality. As of now, storing changes to the sequence of loading does not seem to do anything. We have employed the li'l sibling 'Plugins Load Order' (by Jose Antonio de la Barrera Mayoral) to counter-check and found that
  • changes made thru Plugin Organizer were found to not stick per either Plugin Organizer or Plugin Load Order
  • changes made thru Plugin Load Order, however, were confirmed to prevail per both.
Seeing that Jeff seems to have been unresponsive here (for more than 2 months about now) has me wary to go with an extension as unwieldy and fraught as Plugin Organizer while, alas, there aren't many alternatives around which offer grouping, ordering, filtering and selective dis-/enabling in one package. Hence, the 3 stars. If it got a proper facelift and the apparent issues resolved, this package has the potential to truly shine. In an ideal world, @foomagoo (Jeff), @chespir (José) and perhaps @enomoto-celtislab (of 'Plugin Load Filter') might pool their experience, knowledge + resources to create a viable successor fit to surpass each of the/ir current approaches; but right here and now, such an uber-plugins-wrangler is yet a pipe-dream.

10.2.3

Removed all references to WP Spamshield since the plugin no longer exists and is no longer a threat to Plugin Organizer users
Fixed a few typos in the settings help text
Moved debug messages to the browser console to prevent display problems
Removed custom CSS settings because they are no longer needed with console debug messages

10.2.2

Fixing plugin update, activation, and deactivation issue that causes plugin order to be reset.

10.2.1

Replacing missing PO-admn-global.css file that was missing from last update
Fixing deprecation warning on global plugins page if no global plugins are set.

10.2

Updating URLs in readme to point to new site.
Bumped tested version of WordPress

10.1.10

Fixed PHP warning about array offset when the database returns a bad result in MU plugin

10.1.9

Restored code to use the $_SERVER array for the siteURL value if the right values are set and added in a fallback to use the wpurl option if they aren’t.

10.1.8

Fixed PHP warnings in tpl/settings.php and lib/PluginOrganizerMU.class.php
Changed the base URL to use the setting for the WordPress install instead of a server variable
Fixed ajax message container text being pushed to the side.

10.1.7

Fixed some PHP warnings for unset variables.
Fixed fatal error when a site doesn’t have the plugin order saved on a mutlisite install and a plugin is deleted.

10.1.6

Fixed unset variable warnings.

10.1.5

Fixed unset variable warnings.

10.1.4

Fixed check for MU plugin class that throws warning in mu_plugin_notices class.

10.1.3

Changed the way the load order is maintained to use the directory name like the WordPress core does instead of the plugin name.

10.1.2

Added check to see if active sites column has been hidden on the plugin admin page for network sites. If it’s hidden the checks will not be performed.

10.1.1

Fixed a bug with the post type plugins page where the list of disabled plugins was not refreshed when changing to a different post type.

10.1

Added column to supported post types that indicates whether the post type settings have been overridden and also added a filter to only see posts of that type that have overridden those settings.
Fixed the also affect children and wildcard functionality so that they can be used together instead of only using one or the other on a plugin filter.
Added an admin alert that tells the user when selective plugin loading gets disabled due to the version numbers of the standard and MU plugins not matching.
Made the MU plugin only show an alert and bypass selective plugin loading rather than disabling it in the database when version numbers don’t match.
Added a warning when more than one wildcard is entered in a plugin filter to let the user know that it is not supported.

10.0.1

Removing images that aren’t used anymore.
Updating screenshots.

10.0

Created new interface to make managing plugins less confusing and get rid of the drag and drop interface.
Cleaned up CSS left over from older versions of the plugin.
Removed the custom CSS for the admin because it was becoming hard to maintain and can be achieved by adding CSS styles to your theme if needed.
Fixed missing nonce for the front end debug container ajax call.

9.7

Added column to network plugins page to indicate which sites a plugin is active on.
Fixed the recreate permalinks functionality so it will find plugin filters that need to be updated with new hashes or to indicate that the site uses a secure protocol.
Added better help text to the recreate permalinks tab on the settings page.
Changed the add_hooks function to only add admin hooks on the admin pages.
Fixed functionality to find and remove old plugin filters that are tied to posts that no longer exist.

9.6.4

Updating scripts to use my new domain name for documentation links so plugins like wordfence don’t alert users.
Updating readme to reflect compatibility with WP 5.1.

.= 9.6.3 =
Added list of enabled plugins to the debug message for each page.

9.6.2

Fixed issue with visual editors not loading the Plugin Organizer meta box so post type plugins were not correctly applied.

9.6.1

Fixed a CSS issue where the jQuery UI styles were being loaded after the PO admin style so some styles were not being overridden properly.
Fixed the jQuery UI dialog header styling.

9.6

Changed from using wp_get_sites to get_sites to remove a deprecated message and stop using a deprecated function.
Added action calls to display the admin notices and debug messages in the Plugin Organizer meta box when on the post edit screen to ensure compatibility with the Gutenberg editor.

9.5.1

Added warning for users running Woocommerce and Woocommerce Smart Coupons.
Added ability to set the style of the debug messages container so it will work better with any site.

9.5

Changed all ajax functions to accept json objects in the response.
Changed footer action call for debug messages to use get_footer instead of wp_footer.

9.4

Added debug messages to see how the MU plugin is affecting the page a user is viewing. Messages can be restricted by role.
Changed the way settings are sent from the settings page to the ajax endpoint.

9.3.6

Fixed a problem with custom post types not applying the custom post type settings when they are created off of the edit screen.

9.3.5

Fixed colorpicker popup on settings page.
Added better string sanitization for input variables.

9.3.4

Changed the settings page to use Jquery UI Tabs instead of my custom code.
Cleaned up some of the CSS.

9.3.3

Added code to prevent the recreate_plugin_order function from saving active plugins if the array does not contain the same number of plugins as when it was called.
Added a filter call to remove the active_plugins filters before any plugins are loaded.

9.3.2

Fixed bug where an error is thrown if the load order has not already been set in the database.

9.3.1

Moved the function call to maintain the load order to the init function.
Added functionality to insert a newly activated plugin into the load order earlier.

9.3

Added a function to remove the active_plugins and active_sitewide_plugins filters after plugins are loaded to prevent other plugins from saving a bad list of plugins to the database.
Plugins can now be disabled on the update-core and plugins admin pages without deactivating them.
Changed the priority of the active_plugins and active_sitewide_plugins filters to 1 so they will load before anything else.
Changed the way new plugins are added to the load order after being activated so they are closer to where they would be normally and not always added to the front.
Fixed a bug where the role cookies are not created or deleted on login/logout if Plugin Organizer has been disabled.

9.2.6

Changed various option names in the database to prevent WP Spamshield from disabling Plugin Organizer
Adding a warning about WP Spamshields malicious behavior.
Changed the way roles where a plugin has been disabled as well as plugin members are displayed in the Plugin Organizer meta box.
Fixed a bug in the SQL like statements used by the plugin search on the PO settings page introduced with a change made in wordpress 4.8.3.

9.2.5

Adding admin notices to warn users of what could happen when using Plugin Organizer.

9.2.4

Removing code that deactivates WP-Spamshield as it is pointless to keep releasing countermeasures to prevent their malicious code.

9.2.3

Added code to prevent a malicious plugin from disabling Plugin Organizer by deactivating it at load time.

9.2.2

Fixed a bug with the gettext hook being called mutiple times to change the page title on a group view.
Added code to prevent other plugins from altering posted data.

9.2.1

Set the tolerance of the droppable elements on the right side of the plugin organizer meta box to pointer so the drag elements aren’t dropped in the wrong place.

9.2

Added functionality to move multiple plugins while disabling.
Fixed conflict with plugins setting the z-index of the ui-dialog popup.
Fixed problem with wp_login action hook only sending one argument in some circumstances.

9.1.4

Changed the post_type varchar length back to 20 in last version which causied a problem with custom post type page. Changed the size to 50 to allow for longer post_types.

9.1.3

Changing database statements to modify post_type and user_role to the new sizes for existing installs.

9.1.2

Changed the length of 2 fields in the po_plugins database table. The index on these fields was causing problems with some collation settings.

9.1.1

Missed 2 files in release 9.1 so the plugin search tool always returned no results. Releasing the missing file changes.

9.1

Fixed a problem with disabled roles not being displayed on post type page.
Added a tool to search the datbase to see where a plugin is disabled.

9.0.6

Fixed problem with post_type column in po_plugins table being limited to 20 characters and causing an uncaught database error.
Removed a console.log dbug statement from PT plugins page.

9.0.5

Fixed SQL error in the find_duplicate_permalinks function.

9.0.4

Fixed php notice from stored post types array not being set on activation.
Fixed php notice from HTTP_USER_AGENT not being set on in the server array.
Fixed javascript error from role support help icon that prevented the pop up from working.
Put red and blue icons back for users who haven’t enabled disable by role.

9.0.3

Fixed query in MU plugin for affect children. Removed quotes around column name that were causing the query to fail.

9.0.2

Fixed problem with query that selects the base settings for a post in the post metabox.
Fixed a problem where logged in users where being given the logged out user set of plugins.

Full Changelog

https://www.sterup.com/wordpress-plugins/plugin-organizer/changelog/

Back to top