Description
Short Description
With ??Deactivate Plugins Per Page?? you can easily disable plugins on certain WordPress pages (or on all except a selected page).
This is useful for speeding up your site mainly because many front-end plugins will load their JavaScript and CSS assets on every page, even if you use them on one page.
How it works?
You can add deactivation rules for active plugins. For example for a contact form plugin, that you only use on the contact page, simply add a rule to deactivate it on all URI except on the contact page.
Deactivation Rules Options
1. Deactivation Type
– Deactivate on selected URI
– Deactivate on all URI except selected
2. URI selection type
– Page
– Custom
3. [Page] Select pages to extract URI from (it will update automatically if the page slug changes)
3. [Custom] Custom URI condition
– URI equals ??
– URI does not equal ??
– URI contains ??
– URI does not contain ??
– URI starts with ??
– URI does not start with ??
– URI ends with ??
– URI does not end with ??
4. Affected devices
– All
– Desktop
– Mobile
Plugin Groups
Create groups of multiple plugins in order to add deactivation rules that affect them all.
Debug Mode
Enable debug mode to see what is the URI and which plugins are active/inactive on the current page on the front-end. This will help you create rules and test current ones. A debug box will appear on the front-end if you are an administrator user.
Does it affect the Back-end?
There is an option (not enabled by default) that makes all rules with Custom URI selection to also affect the back-end. Some back-end pages will still not be affected in order to avoid problems, like the pages that control plugin activation, deactivation, updates, and installation.
Plugin Settings
Some things to keep in mind
When plugins are deactivated via my plugin, the actual deactivation function is not called, and the deactivation hooks will not run. Instead, to make it work per page, plugins are just dynamically removed from the list of active plugins before the page loads. This means that if a plugin has some actions that it performs when it is deactivated, these actions will not run when it is deactivated via my plugin.
For example, some plugins add code to your ??.htaccess?? file when they are activated, and when they are deactivated, they remove it. In this case if you add a deactivation rule with my plugin to stop the plugin on a certain page, the ??.htaccess?? code will still be there and work on that page, even though the plugin will not be active on it.
Feedback / Support / Questions
Use the support section (requires sign-in), or my email [email protected]
Changelog
1.10.0 ?C 30 January 2020
ADDED: In debug mode you can now perform quick plugin actions for the current URI: deactivate on the current URI, deactivate on all except the current URI, add a plugin to an existing group.
ADDED: A button in the top right of the debug box that reloads the page.
IMPROVED: A notice about caching plugins is shown when changing the affected devices menu in the add/edit rule box.
FIXED: When importing the rules and settings, an error about invalid import data sent was shown, if one of the plugins has a name starting with an empty space.
FIXED: When WP CLI is used, a warning was generated: Warning: in_array() expects parameter 2 to be array, null given??
UPDATED: Language files.
1.9.0 ?C 13 November 2019
ADDED: Global actions to export or import all rules, groups, and settings of ??Deactivate Plugins Per Page??.
FIXED: The width of some drop-down boxes in WordPress 5.3.
UPDATED: Language files.
TESTED: Compatibility with WordPress 5.3.
1.8.0 ?C 15 October 2019
ADDED: Five plugin (or group) actions: Front-end Deactivate, Back-end Deactivate, Start Plugin Rules, Pause Plugin Rules, Delete Plugin Rules.
ADDED: A text field to find pages when adding or editing a rule.
IMPROVED: Inactive plugins are now shown in red, when adding or editing groups.
IMPROVED: Removed this plugin from the active plugins section.
IMPROVED: Changed the icon for deleting a group, so it is different from the one for deleting rules.
IMPROVED: Better responsive design for some elements on the admin page.
IMPROVED: If enabled, the debug box is now visible on the back-end regardless of the setting for custom URI selection rules affecting the back-end.
UPDATED: Language and documentation files.
1.7.0 ?C 7 September 2019
ADDED: An option to ignore URI parameters when applying rules with custom URI selection. Popular tracking parameters like fbclid, fb_source, gclid, utm_medium, utm_source, and others are ignored by default.
ADDED: The sections in the admin page are now collapsible. You can show and hide them. The sections are: active plugins, inactive plugins, plugin groups, settings.
ADDED: An icon that indicates which plugins are already part of at least one plugin group, when creating or editing a group.
FIXED: On the plugin admin page, the back-end notices from other plugins were shown further down on the page (instead of at the top).
<