as_schedule_single_action()
Schedule an action to run one time
Хуки из функции
Возвращает
int. The action ID. Zero if there was an error scheduling the action.
Использование
as_schedule_single_action( $timestamp, $hook, $args, $group, $unique, $priority );
- $timestamp(int) (обязательный)
- When the job will run.
- $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_schedule_single_action() as schedule single action WC 10.6.2
function as_schedule_single_action( $timestamp, $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 single
* 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 scheduled action ID (scheduled using some alternative process) or else
* zero.
*
* @param int|null $pre_option The value to return instead of the option value.
* @param int $timestamp When the action will run.
* @param string $hook Action hook.
* @param array $args Action arguments.
* @param string $group Action group.
* @param int $priorities Action priority.
* @param bool $unique Unique action.
*/
$pre = apply_filters( 'pre_as_schedule_single_action', null, $timestamp, $hook, $args, $group, $priority, $unique );
if ( null !== $pre ) {
return is_int( $pre ) ? $pre : 0;
}
return ActionScheduler::factory()->create(
array(
'type' => 'single',
'hook' => $hook,
'arguments' => $args,
'when' => $timestamp,
'group' => $group,
'unique' => $unique,
'priority' => $priority,
)
);
}