Pinterest api отлично работает в браузере, показывая количество акций для определенного URL как видел здесь для Google.
Но когда я пытаюсь вызвать его из функции wp_remote_get в WordPress, он возвращает ноль:
$url = "http://api.pinterest.com/v1/urls/count.json?url=http://www.google.com";
$response = wp_remote_retrieve_body(wp_remote_get($url,
array ('timeout' => 30, 'sslverify' => false ) ) );
var_dump($response); // null
Я хочу подчеркнуть, что этот функциональный блок работает нормально, когда я пытаюсь получить количество акций Google, Facebook или Twitter.
Я также попробовал wp_remote_post, ничего не изменилось с ответом.
ОК, я нашел ответ на эту проблему. Функция wp_remote_get возвращает массив, который имеет тело. Но функция wp_remote_retrieve_body не может преобразовать ее в строку, так как она имеет форму обратного вызова javascript (я полагаю).
Когда я получаю тело напрямую из ответа первого массива и убираю функцию обратного вызова как сказано здесь, Я получил ответ JSON.
Других решений пока нет …