функция
since 2.1.0
do_action_ref_array()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
do_action_ref_array( string $hook_name, array $args )
Описание
См. alsodo_action(): эта функция идентична, но аргументы, передаваемые функциям, привязанным к $hook_name, передаются в виде массива.
Оригинал (английский)
- do_action(): This function is identical, but the arguments passed to the functions hooked to
$hook_nameare supplied using an array.
Параметры
$hook_name
string
обязательный
Имя выполняемого действия.
$args
array
обязательный
Аргументы, передаваемые функциям, привязанным к $hook_name.
Исходный код
wp-includes/plugin.php:542
function do_action_ref_array( $hook_name, $args ) {
global $wp_filter, $wp_actions, $wp_current_filter;
if ( ! isset( $wp_actions[ $hook_name ] ) ) {
$wp_actions[ $hook_name ] = 1;
} else {
++$wp_actions[ $hook_name ];
}
// Do 'all' actions first.
if ( isset( $wp_filter['all'] ) ) {
$wp_current_filter[] = $hook_name;
$all_args = func_get_args(); // phpcs:ignore PHPCompatibility.FunctionUse.ArgumentFunctionsReportCurrentValue.NeedsInspection
_wp_call_all_hook( $all_args );
}
if ( ! isset( $wp_filter[ $hook_name ] ) ) {
if ( isset( $wp_filter['all'] ) ) {
array_pop( $wp_current_filter );
}
return;
}
if ( ! isset( $wp_filter['all'] ) ) {
$wp_current_filter[] = $hook_name;
}
$wp_filter[ $hook_name ]->do_action( $args );
array_pop( $wp_current_filter );
}
История изменений
| Версия | Описание |
|---|---|
| 2.1.0 | Introduced. |

