WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru
функция не описана

ActionScheduler_DBStore::bulk_cancel_actions() protected WC 3.0.0

Bulk cancel actions.

Ищем WP-разработчика! Фулл-тайм, удаленка, хорошая зарплата, соц. пакет. Подробности.
Компания Boosta.

{} Это метод класса: ActionScheduler_DBStore{}

Хуки из метода

Возвращает

null. Ничего.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->bulk_cancel_actions( $query_args );
$query_args(массив) (обязательный)
Query parameters.

Список изменений

С версии 3.0.0 Введена.

Код ActionScheduler_DBStore::bulk_cancel_actions() WC 5.8.0

protected function bulk_cancel_actions( $query_args ) {
	/** @var \wpdb $wpdb */
	global $wpdb;

	if ( ! is_array( $query_args ) ) {
		return;
	}

	// Don't cancel actions that are already canceled.
	if ( isset( $query_args['status'] ) && $query_args['status'] == self::STATUS_CANCELED ) {
		return;
	}

	$action_ids = true;
	$query_args = wp_parse_args(
		$query_args,
		[
			'per_page' => 1000,
			'status'   => self::STATUS_PENDING,
			'orderby'  => 'action_id',
		]
	);

	while ( $action_ids ) {
		$action_ids = $this->query_actions( $query_args );
		if ( empty( $action_ids ) ) {
			break;
		}

		$format     = array_fill( 0, count( $action_ids ), '%d' );
		$query_in   = '(' . implode( ',', $format ) . ')';
		$parameters = $action_ids;
		array_unshift( $parameters, self::STATUS_CANCELED );

		$wpdb->query(
			$wpdb->prepare( // wpcs: PreparedSQLPlaceholders replacement count ok.
				"UPDATE {$wpdb->actionscheduler_actions} SET status = %s WHERE action_id IN {$query_in}",
				$parameters
			)
		);

		do_action( 'action_scheduler_bulk_cancel_actions', $action_ids );
	}
}