Функция CURRENT_FILTER() в WordPress
Функция current_filter() позволяет получить имя текущего фильтра или действия, выполняемого в WordPress.
Быстрые факты
- Версия: Доступна с WordPress 2.5.0
- Скорость: 0.00001 сек (1 раз) | 0.01 сек (50000 раз)
- PHP версия: 7.1.11, WP 4.9.5
- Хуки: Нету
Возвращаемое значение
Функция возвращает строку с именем текущего фильтра.
Как использовать
Просто вызовите функцию:
current_filter();
Примеры использования
Пример 1: Динамическое изменение заголовка email
Этот пример показывает, как можно динамически менять заголовок email (от кого он отправлен) в зависимости от того, с какого фильтра была вызвана функция:
add_filter('wp_mail_from', 'filter_system_from_mail');
add_filter('wp_mail_from_name', 'filter_system_from_mail');
function filter_system_from_mail() {
$opt = 'wp_mail_from' == current_filter() ? 'admin_email' : 'blogname';
return get_option($opt);
}
Пример 2: Получение имени текущего фильтра
Следующий код показывает, как получить имя текущего фильтра:
add_filter('the_content', 'wpdocs_my_filter');
function wpdocs_my_filter() {
echo current_filter(); // 'the_content'
}
Вы также можете получить имя текущего действия:
add_action('init', 'wpdocs_my_init_function');
function wpdocs_my_init_function() {
echo current_filter(); // 'init'
}
Ваш собственный пример
Вы можете написать собственный пример работы с этой функцией, основываясь на своем проекте.
Примечания
- Глобальная переменная
$wp_current_filterхранит список текущих фильтров, где последний элемент — это текущий фильтр.
Изменения в функции
- С версии: 2.5.0 — Функция была введена.
Код функции CURRENT_FILTER()
Вот как реализована функция в коде WordPress:
function current_filter() {
global $wp_current_filter;
return end($wp_current_filter);
}
Связанные функции
Фильтры (хуки)
add_filter()apply_filters()doing_filter()has_filter()remove_all_filters()remove_filter()
Хуки (действия и фильтры)
add_action()apply_filters_ref_array()did_action()do_action()do_action_ref_array()doing_action()has_action()remove_action()remove_all_actions()
Эта информация поможет вам лучше понять, как работает функция current_filter() и как ее использовать в своих проектах на WordPress.