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

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

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

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

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

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

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

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

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

Мусорные страницы в Wordpress

Январь 17, 2017 г.

В Wordpress обнаруживается не мало артефактов маршрутизации, которые создают головную боль SEO-специалистам. Я уже рассказывал на днях о страницах вложений. А сегодня расскажу ещё об одном случае. Попробуйте на вашем блоге под WP добавить к адресу ...

Читать

Добавляем параметры в настройки Wordpress

Август 7, 2017 г.

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

Читать

 

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

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



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