wc_webhook_execute_queue()
Process the web hooks at the end of the request.
Хуки из функции
Возвращает
null
. Ничего (null).
Использование
wc_webhook_execute_queue();
Список изменений
С версии 4.4.0 | Введена. |
Код wc_webhook_execute_queue() wc webhook execute queue WC 9.7.1
function wc_webhook_execute_queue() { global $wc_queued_webhooks; if ( empty( $wc_queued_webhooks ) ) { return; } foreach ( $wc_queued_webhooks as $data ) { // Webhooks are processed in the background by default // so as to avoid delays or failures in delivery from affecting the // user who triggered it. if ( apply_filters( 'woocommerce_webhook_deliver_async', true, $data['webhook'], $data['arg'] ) ) { $queue_args = array( 'webhook_id' => $data['webhook']->get_id(), 'arg' => $data['arg'], ); $next_scheduled_date = WC()->queue()->get_next( 'woocommerce_deliver_webhook_async', $queue_args, 'woocommerce-webhooks' ); // Make webhooks unique - only schedule one webhook every 10 minutes to maintain backward compatibility with WP Cron behaviour seen in WC < 3.5.0. if ( is_null( $next_scheduled_date ) || $next_scheduled_date->getTimestamp() >= ( 600 + gmdate( 'U' ) ) ) { WC()->queue()->add( 'woocommerce_deliver_webhook_async', $queue_args, 'woocommerce-webhooks' ); } } else { // Deliver immediately. $data['webhook']->deliver( $data['arg'] ); } } }