current_filter()
Отримує назву поточного фільтра.
Призначений для використання всередині функції, прикріпленої до фільтра, щоб динамічно отримувати назву поточного фільтра, з якого викликається функція.
Аналогічні функції:
- current_filter() — отримує назву поточної події чи фільтра.
- current_filter() .
- doing_filter() — перевіряє чи обробляється в даний момент зазначений хук.
- doing_filter() .
- did_action() – отримує число, скільки разів спрацював вказаний хук.
1 раз – 0.00001 сек
(швидкість світла) | 50000 разів – 0.01 сек
(швидкість світла) |
PHP 7.1.11, WP 4.9.5
(швидкість світла) | 50000 разів – 0.01 сек
(швидкість світла) |
PHP 7.1.11, WP 4.9.5
Хуків немає.
Повертає
Строку
. Назва поточного фільтра чи дії.
Використання
$filter_name = 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' );
нотатки
- Global. Рядок[]. $wp_current_filter Stores the list of current filters with the current one last
список змін
З версії 2.5.0 | Введено. |
Код current_filter() current filter WP 6.0.2
function current_filter() { Global $wp_current_filter; return end ($ wp_current_filter); }