wp_remote_get() — Requisições HTTP externas

Time Full Services Time Full Services
Tipo Funções nativas
Nome do erro wp_remote_get() — Requisições HTTP externas
Severidade Atenção
Desde WordPress 2.7
Descrição Realiza uma requisição HTTP GET para uma URL externa de forma assíncrona e segura usando a WordPress HTTP API.

Causa

Usar file_get_contents() ou cURL diretamente ignora a camada de abstração do WordPress e pode falhar em ambientes com restrições.

Como resolver

Sempre use a WordPress HTTP API (wp_remote_get, wp_remote_post). Verifique erros com is_wp_error() e trate o código de resposta antes de usar o body.

PHP
<?php
$url      = 'https://api.exemplo.com/produtos';
$response = wp_remote_get($url, [
    'timeout'   => 15,
    'headers'   => ['Accept' => 'application/json'],
    'sslverify' => true,
]);

if (is_wp_error($response)) {
    error_log('Erro HTTP: ' . $response->get_error_message());
    return [];
}

$status = wp_remote_retrieve_response_code($response);
if ($status !== 200) {
    return [];
}

$body = wp_remote_retrieve_body($response);
$data = json_decode($body, true);

return $data ?? [];

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →