Intereting Posts
Встраивание пользовательских сообщений с помощью REST API Белая пустая страница при обновлении и публикации страницы / публикации Консультация для начинающих Проблема с созданием настраиваемого шаблона на тему двадцатьейной темы Есть ли в браузере плагин или метод для определения того, из какого шаблона php требуется элемент? Возможно ли разместить сайт WordPress полностью на Cloudfront? Изменить шаблон «на лету» на основе выбора родительского поста Результаты фильтра WP_User_Query Изменение тем … и нужно перенести содержимое пользовательского поля в другое поле PHP Неустранимая ошибка в cache.php в строке 123 $ wp_object_cache не является объектом Отображать страницу пользовательских сообщений? Задача the_permalink плагин feedburner для WP 3.5 Список категорий (wp_terms) и количество сообщений Избранное изображение в пользовательском сообщении отключено

Каковы шаги + предпосылки для использования add_filter?

Привет всем, что я WP noob, и у меня есть задача очистить беспорядок, оставленный другими людьми, когда они редактируют ядра плагинов. Насколько я понимаю, в WP есть такие вещи, которые называются фильтрами. Я не уверен, как их использовать или как они работают. В этом примере ниже (скопировано из учебника):

function remove_footer_admin () { echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | Designed by <a href="http://www.uzzz.net" target="_blank">Uzzz Productions</a> | WordPress Tutorials: <a href="http://www.wpbeginner.com" target="_blank">WPBeginner</a></p>'; } add_filter('admin_footer_text', 'remove_footer_admin'); 

Что происходит? Итак, мы перезаписываем функцию admin_footer_text ? В этом случае это функция из раздела admin. К моему текущему пониманию (скажите, если я ошибаюсь, пожалуйста), в разделе администратора есть множество функций WP по умолчанию, которые выполняются в определенном порядке. Этот add_filter который использует remove_footer_admin будет вызываться как remove_footer_admin . Таким образом, любые функции WP будут выполняться до запуска admin_footer_text , затем admin_footer_text , затем remove_footer_admin , а затем любые функции WP, которые обычно запускаются после admin_footer_text . Это верно?

Кроме того, кажется, что add_filter может быть добавлен иногда? Я не понимаю, каковы условия. Не могли бы вы объяснить, в какой ситуации я могу его использовать?

Мне нравится думать о add_filter как о способе настройки переменной. Его можно использовать везде, где вы видите apply_filters в коде. Как правило, вы return значение переменной, а не эхо-сигнал.

Ваш пример будет лучше написан так:

 function remove_footer_admin () { return 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | Designed by <a href="http://www.uzzz.net" target="_blank">Uzzz Productions</a> | WordPress Tutorials: <a href="http://www.wpbeginner.com" target="_blank">WPBeginner</a></p>'; } add_filter('admin_footer_text', 'remove_footer_admin'); 

И remove_footer_admin() будет выполняться, когда код WP попадает в

 echo apply_filters( 'admin_footer_text', '<span id="footer-thankyou">' . __( 'Thank you for creating with <a href="http://wordpress.org/">WordPress</a>.' ) . '</span>' ); 

в admin-footer.php … где второй параметр ( <span> и т. д.) – это переменная, которую apply_filters позволяет вам изменять в этом случае.

Я написал учебник по фильтрам WordPress, который, я думаю, может помочь объяснить некоторые вещи.