as_enqueue_async_action()
Enqueue an action to run one time, as soon as possible
Хуки из функции
Возвращает
int. The action ID. Zero if there was an error scheduling the action.
Использование
as_enqueue_async_action( $hook, $args, $group, $unique, $priority );
- $hook(строка) (обязательный)
- The hook to trigger.
- $args(массив)
- Arguments to pass when the hook triggers.
По умолчанию:array() - $group(строка)
- The group to assign this job to.
По умолчанию:'' - $unique(true|false)
- Whether the action should be unique. It will not be scheduled if another pending or running action has the same hook and group parameters.
По умолчанию:false - $priority(int)
- Lower values take precedence over higher values.
По умолчанию:10, with acceptable values falling in the range 0-255
Код as_enqueue_async_action() as enqueue async action WC 11.0.1
function as_enqueue_async_action( $hook, $args = array(), $group = '', $unique = false, $priority = 10 ) {
if ( ! ActionScheduler::is_initialized( __FUNCTION__ ) ) {
return 0;
}
/**
* Provides an opportunity to short-circuit the default process for enqueuing async
* actions.
*
* Returning a value other than null from the filter will short-circuit the normal
* process. The expectation in such a scenario is that callbacks will return an integer
* representing the enqueued action ID (enqueued using some alternative process) or else
* zero.
*
* @param int|null $pre_option The value to return instead of the option value.
* @param string $hook Action hook.
* @param array $args Action arguments.
* @param string $group Action group.
* @param int $priority Action priority.
* @param bool $unique Unique action.
*/
$pre = apply_filters( 'pre_as_enqueue_async_action', null, $hook, $args, $group, $priority, $unique );
if ( null !== $pre ) {
return is_int( $pre ) ? $pre : 0;
}
return ActionScheduler::factory()->create(
array(
'type' => 'async',
'hook' => $hook,
'arguments' => $args,
'group' => $group,
'unique' => $unique,
'priority' => $priority,
)
);
}