Функция has_action()
в WordPress позволяет проверить, есть ли функции, привязанные к определенному хуку (действию). Это полезно, когда необходимо определить, будет ли выполнена какая-либо функция при срабатывании определенного действия, что помогает в отладке и управлении хуками. В этой статье мы рассмотрим, как работает has_action()
, и приведем несколько примеров её использования.
has_action( $hook, $function_to_check );
$hook
(string) — Имя действия, к которому привязана функция.$function_to_check
(callable, необязательно) — Имя функции, которую нужно проверить. Если параметр не указан, проверяется наличие любой функции, привязанной к указанному действию.
Пример использования has_action()
Рассмотрим несколько примеров, которые показывают, как использовать has_action()
.
- Проверка наличия функции, привязанной к действию
Добавим простую функцию к хуку и проверим её наличие.
function custom_footer_text() {
echo "<p>Custom footer text.</p>";
}
add_action('wp_footer', 'custom_footer_text');
if (has_action('wp_footer', 'custom_footer_text')) {
echo "Function 'custom_footer_text' is hooked to 'wp_footer'.";
} else {
echo "Function 'custom_footer_text' is not hooked to 'wp_footer'.";
}
В этом примере будет выведено сообщение «Function ‘custom_footer_text’ is hooked to ‘wp_footer’.», так как функция привязана к хуку wp_footer
.
- Проверка наличия любой функции, привязанной к действию
Если необходимо проверить, привязана ли к хуку хотя бы одна функция, не указывая конкретную функцию:
if (has_action('wp_footer')) {
echo "There are functions hooked to 'wp_footer'.";
} else {
echo "There are no functions hooked to 'wp_footer'.";
}
Заключение
Функция has_action()
является полезным инструментом для проверки наличия функций, привязанных к определенному действию (хуку) в WordPress.