Удаление фильтра в WP, когда callback — метод класса плагина

При программировании в WP мы очень часто добавляем какие то фильтры и действия. А если посмотреть в код любого плагина — это сборники реализаций зацепок.

Не всегда авторы дают возможность гибко управлять поведением их плагина через настройки. Тогда приходится делать это программно, например, отменяя фильтры. Но здесь есть одна проблема.

Текущие рекомендации по конструированию плагинов к WP советуют создавать плагин в виде класса. Это как минимум помогает избежать конфликтов имен методов. При этом функция API remove_filter() морально устарела и позволяет использовать её только для процедурного варианта объявленных фильтров.

Поделюсь вариантом функции remove_filter(), позволяющим удалять фильтры, объявленные плагинами-классами.

Функция сканирует глобальный массив фильтров и вызывает встроенную remove_filter() с требуемыми параметрами.

Для вызова нужно знать имя фильтра (например, ‘the_content’), имя класса, и название метода, используемого как callback функция фильтрации.

Написать комментарий

Мало букафф? Читайте есчо !

Wordpress, Яндекс и другие. Штрихи SEO.

Март 29, 2010 г.

Не устану повторять, что wordpress  уже давно перерос возможности блогового движка. Но по умолчанию он сконфигурирован именно для блоговых целей и чихает на то как устроены поисковые системы и их требования. Можно бесконечно говорить о том, что сама ...

Читать

Фильтры Wordpress, заданные в текущий момент

Декабрь 20, 2016 г.

Если вам понадобилось посмотреть какие же фильтры установлены в текущий момент, то обращаться к WP API не нужно - такой функции нет. Полный список активных хуков хранится в глобальной переменной $wp_filter. [crayon-5e2248083004b227131259/] Это массив ...

Читать

 

Комментарии к «Удаление фильтра в WP, когда callback — метод класса плагина»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: