current_filter() WP 2.5.0

Отримує назву поточного фільтра.

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

Аналогічні функції:

  • current_filter() — отримує назву поточної події чи фільтра.
  • current_filter() .
  • doing_filter() — перевіряє чи обробляється в даний момент зазначений хук.
  • doing_filter() .
  • did_action() – отримує число, скільки разів спрацював вказаний хук.
1 раз – 0.00001 сек
(швидкість світла) | 50000 разів – 0.01 сек
(швидкість світла) |
PHP 7.1.11, WP 4.9.5

Хуків немає.

Повертає

Строку. Назва поточного фільтра чи дії.

Використання

$filter_name = current_filter();

Приклади

0

#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' );

нотатки

  • Global. Рядок[]. $wp_current_filter Stores the list of current filters with the current one last

список змін

З версії 2.5.0Введено.

Код current_filter() WP 6.0.2

function current_filter() {
	Global $wp_current_filter;

	return end ($ wp_current_filter);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *