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

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

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

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

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

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

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

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

Управление сортировкой категорий в Wordpress

Август 30, 2017 г.

Wordpress не даёт возможности управлять порядком терминов таксономии. В API (ф-ция get_terms) есть такой параметр как orderby, но нет возможности задать ...

Читать

Бесконечные редиректы на WP сайте после включения HTTPS

Ноябрь 27, 2024 г.

Если сайт находится за неким прокси, который реализует SSL, а на веб-сервере при этом не настроен HTTPS протокол, то WP может начать бесконечный цикл переадресаций. Начинается это сразу после изменения URL домашней страницы в админке. Анамнез ...

Читать

Иерархия шаблонов в WordPress

Март 23, 2017 г.

Шаблоны в рамках темы Wordpress, как и во многих других CMS, имеют строго определенную иерархию. Что это означает на практике? Когда WP требуется определить ...

Читать

Антиспам с использованием Javascipt для WordPress, обходимся без Captcha

Апрель 12, 2013 г.

О сути метода я рассказываю здесь - Бегство от спама. Для работы понадобится hook на новые комментарии - pre_comment_approved, который мы объявим в файле темы - function.php. Если в вашей теме нет такого файла - создайте :). Нужно модифицировать всего ...

Читать
 

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

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



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