Você está em boa companhia com suporte incrível 🤝

Tratando erros de wp_remote_get e wp_remote_post corretamente

Time Full Services Time Full Services
Nome do erro Tratando erros de wp_remote_get e wp_remote_post corretamente
Severidade Atenção
Desde WordPress 2.7
Descrição Como consumir APIs externas com a HTTP API do WordPress sem provocar fatal errors.

Como consumir APIs externas com a HTTP API do WordPress sem provocar fatal errors.

Causa

Ignorar is_wp_error() no retorno de wp_remote_get/wp_remote_post e tentar acessar diretamente o corpo ou o status da resposta causa erros de 'member function on null/array' quando a requisição falha (timeout, DNS, SSL).

Como resolver

Sempre verifique is_wp_error( $resposta ) antes de usar wp_remote_retrieve_body() ou wp_remote_retrieve_response_code(), e configure um timeout explícito para evitar travamentos.

PHP
$resposta = wp_remote_get( 'https://api.exemplo.com/dados', [
    'timeout' => 10,
] );

if ( is_wp_error( $resposta ) ) {
    error_log( 'Erro na API: ' . $resposta->get_error_message() );
    return null;
}

$corpo = json_decode( wp_remote_retrieve_body( $resposta ), true );

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 →