add_filter() — вешает функцию на указанный фильтр

Прикрепляет фильтрующую функцию к одному из существующих фильтров в коде, созданному при помощи apply_filters().

add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 )
$tag
(строка) Название фильтра.
$function_to_add
Название функции, которая будет фильтровать значение переменной. Однако данная переменная позволяет задать не просто название функции строкой функция1, то также и указать функцию внутри класса следующим образом array('Класс1', 'функция_внутри_класса1') или, если всё это действо происходит внутри класса, то array(&$this, 'функция_внутри_класса1'), кроме того, если ваша версия PHP > 5.3.0, вы можете использовать анонимную функцию, как например:

add_filter( 'misha_filter_1', function( $var1 ) {
	return '<em>' . $var1 . '</em>';
});

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

И кстати, add_filter() не проверяет, существует ли указанная вами возвратная функция вообще.

$priority
(целое число) Приоритет выполнения, чем он меньше, тем раньше будет применена фильтрующая функция по отношению к другим фильтрующим функциям.
$accepted_args
(целое число) Общее количество переменных, которые будут переданы в фильтрующую функцию.

Возвращает true при успешном применении фильтрующей функции, иначе false

Примеры

Добавим произвольную строку в конце всех заголовков постов

Вряд ли это может вам понадобиться, но такой вот простой пример.

add_filter('the_title', 'misha_add_text_to_titles');
// если приоритет равен 10 и количество параметров - 1, то это значения по умолчанию и их в add_filter() можно не указывать
 
function misha_add_text_to_titles( $title ){
	$title = $title . "какой-то текст";
	return $title;
}

Множество других примеров на truemisha.ru

Прежде всего я рекомендую вам почитать полное руководство по фильтрам в WordPress.

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

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...