Столкнувшись с той же проблемой, я создал плагин MU для деактивации плагинов на основе URL текущей страницы, выполнив шаги здесь .
Сначала создайте файл PHP (например, plugin-filter-by-page.php) в папке плагинов MU (/wp-content/mu-plugins).
В этом файле вставьте следующий код, который был изменен по приведенной выше ссылке:
<?php
// returns the path of the request URI without the query string
$request_uri = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH );
$is_admin = strpos( $request_uri, '/wp-admin/' );
// add filter in front pages only
if( false === $is_admin ){
add_filter( 'option_active_plugins', 'your_option_active_plugins' );
}
/**
* Filters active plugins
*
* @param array $plugins An array of active plugins.
*/
function your_option_active_plugins( $plugins ){
global $request_uri;
$is_woo_checkout_page = strpos( $request_uri, '/checkout/' );
$unnecessary_plugins = array();
// filter out WPBakery Page Builder plugin on WooCommerce Checkout page
if( false !== $is_woo_checkout_page ){
$unnecessary_plugins[] = 'js_composer/js_composer.php';
}
foreach ( $unnecessary_plugins as $plugin ) {
$k = array_search( $plugin, $plugins );
if( false !== $k ){
unset( $plugins[$k] );
}
}
return $plugins;
}
На момент написания статьи я использовал это на своем собственном веб-сайте, который использует WordPress 5.0.3, WooCommerce 3.5.3 и WPBakery Page Builder 5.6 из темы Bridge.
Кроме того, вы можете использовать плагины, созданные другими пользователями, по той же ссылке .