Да, это возможно с MU-PLUGINs, который заглядывает в запрос URL и выборочно отключает плагины. Это возможно, потому что плагины MU загружаются перед регулярными плагинами.
1) Создать новый Mu-плагин в /wp-content/mu-plugins/Removeplugin.php
2) Добавить код
/*
Plugin Name: plugins remover
Plugin URI:
Description: Removes plugin
Author: Author name
Version: 1.0
Author URI:
*/
3) Теперь добавим действие крюк option_active_plugins
add_filter('option_active_plugins', 'disable_plugin_callback_fun');
function disable_plugin_callback_fun($plugins){
$key = array_search('plugin_directory_name/plugin_filename.php' , $plugins);
if (false !== $key) unset($plugins[$key]);
}
Пример, если вы удалите контакт форма 7 плагин css и js
add_filter('option_active_plugins', 'disable_plugin_callback_fun');
function disable_plugin_callback_fun($plugins){
$key = array_search( 'contact-form-7/wp-contact-form-7.php', $plugins);
if (false !== $key) { unset($plugins[$key]);}
}
ПРИМЕЧАНИЕ: Этот крючок действия отключает плагин для сайта. Поэтому я предлагаю загрузить плагин с выбранной страницы, например, ниже. Проверьте текущую страницу.
$current_page = add_query_arg(array());
add_filter('option_active_plugins', 'disable_plugin_callback_fun');
function disable_plugin_callback_fun($plugins){
$current_page = add_query_arg(array());
if($current_page!='contact'){//contact us page url where to load plugin only
$key = array_search( 'contact-form-7/wp-contact-form-7.php', $plugins);
if (false !== $key) { unset($plugins[$key]);}
}
}
Для получения дополнительной информации посетите эту https://wordpress.stackexchange.com/questions/114345/load-plugin-selectively-for-pages-or-posts-etc
EDIT
Если вам необходимо удалить только весь стиль и сценарий из плагина. нужно найти все css и jquery и поместить их один за другим в следующую функцию.
Нет другого пути, чтобы удалить весь стиль и сценарий из плагина
Примечания: Это только работе, когда плагин используется для добавления стиля или JS использованияКонтактная wp_enqueue_style() и wp_enqueue_script() другого мудрого этот код не работает
add_action('wp_print_scripts', 'disable_pluginsjs_selectively', 100);
function disable_pluginsjs_selectively() {
wp_deregister_script(Name of the enqueued jQuery);
wp_dequeue_style('Name of the enqueued stylesheet');
}
Но код полностью отключит плагин (на специальных страницах). Я только хочу удалить все стили и скрипты из плагина, а не сам плагин. – Peter
@Peter проверить мой ответ –