Что такое 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!