PHP

Action Scheduler для асинхронного выполнения задач в WooCommerce

wp_remote_post() с ‘blocking’ => false: Функция wp_remote_post() из WordPress Core API – это более удобный и «WordPress-way» способ делать HTTP-запросы.

Установив параметр ‘blocking’ => false, вы сделаете запрос асинхронным:

$data = [
    'order_id' => $order_id,
    'safe_route_id' => $safe_route_id,
    'deal_id' => $deal_id
];

$url = 'ajax-orders.php';

$response = wp_remote_post( $url, array(
    'method'      => 'POST',
    'timeout'     => 45,  // Нормальный таймаут (можно оставить)
    'redirection' => 5,
    'httpversion' => '1.0',
    'blocking'    => false, // Асинхронный запрос!
    'headers'     => array(),
    'body'        => $data,  // Передаем массив, wp_remote_post сам закодирует
    'cookies'     => array()
) );

// Функция-отправитель НЕ ждет ответа.
// $response будет содержать объект WP_Error или пустой массив.
Back to list

Добавить комментарий

Ваш адрес email не будет опубликован.