Intereting Posts
как создать дополнительную миниатюру сообщения с объединением изображения значка? Переместите боковую панель виджета в Внешний вид-> Виджеты Как отслеживать новые плагины, опубликованные на wordpress.org? Обновление класса $ wpdb meta_value с использованием Ajax Изображения, отображаемые в редакторе, но не в записи Динамический логотип / баннер в зависимости от партнерской ссылки Перенаправить старый домен и сообщения на домашнюю страницу нового домена Отключение фильтрации HTML при импорте в WordPress Multisite Пользовательские столбцы администратора для всех настраиваемых типов сообщений Проблема с поиском в категории WordPress Сообщения, созданные в пользовательском типе сообщений, теряются, если публикуются без заголовка WordPress не запускается $ wpdb-> get_results не возвращает массив WP-администратор с нарушением права доступа с помощью dashicon Таймер загрузки страницы?

Отфильтруйте действие плагина в wp head / wp_footer

Я использую плагин под названием «syntaxhighlighter».

Я знаю, что не нужно задавать вопросы, связанные с плагинами, а скорее как отфильтровать действие, добавленное в wp_head / wp_footer условно …

Это часть скрипта плагина:

// Outputting SyntaxHighlighter's JS and CSS add_action( 'wp_head', array( $this, 'output_header_placeholder' ), 15 ); add_action( 'wp_footer', array( $this, 'maybe_output_scripts' ), 15 ); 

Теперь я хотел бы добавить фильтр, который гласит:

 if(is_home() || is_category()) { // REMOVE THOSE SCRIPS } 

,
Я не хочу менять этот код плагина, потому что я бы
повторить, чтобы сделать это снова, когда он обновится …

Как я могу отфильтровать эти действия при необходимости?

Solutions Collecting From Web of "Отфильтруйте действие плагина в wp head / wp_footer"

Вы можете попробовать это (непроверенный):

 add_action( 'wp_head', function(){ // your conditions: if( is_home() || is_category() ) { // access the global SyntaxHighlighter object instantiated at 'init'. global $SyntaxHighlighter; // remove your action hooks: remove_action( 'wp_head', array( $SyntaxHighlighter, 'output_header_placeholder' ), 15 ); remove_action( 'wp_footer', array( $SyntaxHighlighter, 'maybe_output_scripts' ), 15 ); } } ); 

для исключения этих крючков действия условно с тегами шаблона. Мы используем действие wp_head с приоритетом 10 по умолчанию.

Вы можете использовать другие перехватчики, но они должны стрелять раньше, чем wp_head с приоритетом 15 и после $SyntaxHighlighter объекта $SyntaxHighlighter через крючок инициализации .

Вы также должны убедиться, что теги шаблонов, которые вы хотите использовать в ваших условных проверках, доступны в выбранном вами крюке.