Intereting Posts
Сохранить информацию о камере как метаданные при загрузке изображения? Как просмотреть персонализированные типы сообщений на странице пользовательского типа сообщений? Как правильно ограничить контент и удалить HTML? Защищенная паролем страница add_filter для изменения текста не работает Структура и отображение содержимого из нескольких страниц на одной странице Активировать плагин через PHPMyAdmin или FTP? Последние сообщения – Показать все сообщения Фильтр изображений работает на страницах прикрепления, но не в сообщениях. Я не могу получить идентификатор изображения Сохранить что-то в глобальном var в add_filter Простая команда петли foreach, необходимая в wordpress "loop" Нужна помощь с моим шаблоном почему, когда я пытаюсь вставить вложение изображения вместе с сообщением, wp_get_attachment_url дает мне очень неправильный путь к файлу? удалите обертку текстового виджета или <div class = "textwidget"> </ div> Установите пользователя в качестве автора всех опубликованных «новых сообщений» Переключение темы и обратно приведет к сбросу настроек предыдущей темы?

отключить активные плагины для определенной темы

Я хочу отключить некоторые плагины из определенной темы. Я использую hook deactivate_plugins для деактивации. следующий мой код.

 add_action('wp_head','disable_plugins'); function disable_plugins(){ include_once(ABSPATH.'wp-admin/includes/plugin.php'); $current_theme = wp_get_theme(); $current_theme_name = $current_theme->Name; if($current_theme_name == 'Twenty Sixteen'){ if ( is_plugin_active('press-release/init.php') ) { deactivate_plugins('press-release/init.php'); } } } 

Этот код деактивирует плагины на крюке wp_head, но проблема заключается в том, что я хочу, чтобы активные плагины отключались только тогда, когда тема была Twenty Sixteen, в то время как она хочет продолжать включать или отключать, как это было уже на других темах.

Но мой код отключает плагины для всех тем. 🙁

Другое решение заключалось в дерегистрации css и js-файлов каждого плагина, но его сложно найти все файлы css и js для всех плагинов, а также будет отменять регистрацию для всех тем, пока я хочу, чтобы активные плагины отключались по определенной теме.

Пожалуйста, помогите мне, если можете в этом случае. Благодарю.

То, что @Sumit говорит в комментариях (и вы узнали для себя), является правильным. Если вы отключите плагин в теме, он будет деактивирован навсегда, пока он не будет снова активирован.

Кроме того, если вы присоедините свое действие деактивации к wp_head оно выполняется на каждой странице, что необязательно. Что вам нужно сделать, так это отключить плагин, когда тема активирована, и активировать плагин, когда активируется другая тема. Для этого есть действия: after_switch_theme при активации и switch_theme при деактивации. Таким образом, вы бы:

 add_action('after_switch_theme','disable_plugins'); add_action('switch_theme','enable_plugins'); 

У вас уже есть функция disable_plugins , другая – вам самому писать.