Как использовать WordPress wp_remote_post, если мне не нужно получать ответ? - PullRequest
0 голосов
/ 27 августа 2018

Использование wp_remote_post для отправки данных формы (Contact Form 7) во внешний API (CRM). API сложен (проверяет электронную почту, письма с подтверждением и т. Д.), Поэтому я не хочу, чтобы PHP блокировал какие-либо процессы, ожидая ответа (мне вообще не нужен ответ, просто отправьте).

Тем не менее, даже с 'blocking' => false это происходит - если я активирую электронные письма с подтверждением на внешнем API, пользователям Wordpress нужно подождать несколько секунд, прежде чем форма будет обработана.

Что я делаю не так? :) Код:

// POST-request to API
wp_remote_post('http://crm.site.com/get_record', array(
    'timeout' => 5,
    'redirection' => 5,
    'httpversion' => '1.0',
    'blocking' => false,
    'headers' => array() ,
    'body' => $send_data,
    'cookies' => array()
));

1 Ответ

0 голосов
/ 27 августа 2018

Я думаю, что метод здесь отсутствует, добавьте метод и попробуйте

   $response = wp_remote_post('http://crm.site.com/get_record', array(
    'method' => 'POST',
    'timeout' => 5,
    'redirection' => 5,
    'httpversion' => '1.0',
    'blocking' => false,
    'headers' => array() ,
    'body' => $send_data,
    'cookies' => array()
   ));

И проверьте ответ:

<code>if ( is_wp_error( $response ) ) {
   $error_message = $response->get_error_message();
   echo "Something went wrong: $error_message";
} else {
   echo 'Response:<pre>';
   print_r( $response );
   echo '
'; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...