current_filter

Получает название текущего события или фильтра.

Предназначен для использования внутри функции, прикрепленной к фильтру, чтобы динамически получать название текущего фильтра с которого вызывается функция.

Есть еще копия этой функции для событий – current_action(). Вместо нее можно использовать эту функцию они полностью друг друга заменяют…

✈ 1 раз = 0.00001с = скорость света | 50000 раз = 0.012с = скорость света

Хуков нет.

Возвращает

Строку. Название текущего фильтра или действия.

Использование

current_filter();

Примеры

#1. Динамическое изменение заголовка письма

Интересный пример, показывающий как можно динамически изменить заголовок письма (от кого письмо), в зависимости от того с какого фильтра срабатывает одна и та же функция (filter_system_from_mail).

function filter_system_from_mail(){
	$opt = 'wp_mail_from' == current_filter() ? 'admin_email' : 'blogname';
	return get_option( $opt );
}

add_filter( 'wp_mail_from',      'filter_system_from_mail' );
add_filter( 'wp_mail_from_name', 'filter_system_from_mail' );

Код из


wp-includes/plugin.php

WP 4.7.2

<?php
function current_filter() {
	global $wp_current_filter;
	return end( $wp_current_filter );
}

Комментарии:


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

Your email address will not be published. Required fields are marked *