as_enqueue_async_action()WC 1.0

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() WC 9.1.2

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.
	 */
	$pre = apply_filters( 'pre_as_enqueue_async_action', null, $hook, $args, $group, $priority );
	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,
		)
	);
}