Что такое add_filter() в wordpress
add_filter()
— одна из ключевых функций WordPress, которая позволяет изменять или «фильтровать» данные перед их выводом или использованием. Она является частью системы хуков WordPress наряду с add_action()
.
Синтаксис:
add_filter( $tag, $function_to_add, $priority, $accepted_args );
Параметры:
- $tag (string) — имя фильтра, к которому подключаемся.
- $function_to_add (callback) — имя вашей функции, которая будет изменять данные.
- $priority (int, необязательно) — приоритет выполнения функции (по умолчанию:
10
). - $accepted_args (int, необязательно) — количество аргументов, передаваемых функции (по умолчанию:
1
).
Как это работает:
Когда WordPress обрабатывает определённый фильтр (например, the_content
), он проверяет, есть ли к нему подключенные функции через add_filter()
. Если есть, данные передаются через эти функции, и каждая из них может их изменить.
Пример использования:
// Фильтр изменяет содержимое поста function my_custom_content_filter( $content ) { $content .= '<p>Спасибо за чтение!</p>'; return $content; } add_filter( 'the_content', 'my_custom_content_filter' );
В этом примере к каждому посту будет добавляться текст «Спасибо за чтение!».
Где используются фильтры:
- Изменение текста, заголовков, ссылок
- Настройка функций тем и плагинов без изменения их кода
- Фильтрация данных перед выводом на фронтенд
- Локализация и интернационализация
Разница между add_filter()
и add_action()
:
add_action()
— выполняет функцию в определённый момент без обязательного возвращения данных.
add_filter()
— принимает данные, изменяет их и обязательно возвращает.
Теперь вы можете легко использовать add_filter()
для кастомизации вашего сайта на WordPress!