Como utilizar wp_remote_post() no WordPress1 min leitura

Explicação de como utilizar a função PHP wp_remote_post() do WordPress e exemplo prático de código para fazer uma autenticação básica e outro para obter o número de temas de um usuário do repositório oficial do WordPress.

Com a função PHP wp_remote_post() você realiza um requisição HTTP utilizando o método POST e obtêm o seu retorno. Veja abaixo um exemplo da função:

<?php $resposta = wp_remote_post( $url, $argumentos );
Code language: PHP (php)

Exemplo básico de autenticação com wp_remote_post()

Um exemplo prático da função wp_remote_post() é para fazer uma requisição com autenticação básica ($usuario e $senha).

<?php $argumentos = array( 'body' => $corpo, 'headers' => array( 'Authorization' => 'Basic ' . base64_encode( $usuario . ':' . $senha ), ), ); $resposta = wp_remote_post( $url, $argumentos );
Code language: PHP (php)

Obter o número de temas de um usuário do repositório oficial do WordPress com o wp_remote_post()

O WordPress.org possui várias APIs nas quais é possível obter várias informações interessantes. Criei então um exemplo para pegar o número de temas criado por um usuário utilizando a função wp_remote_post().

<?php $usuario = "wordpressdotorg"; // Utiliza a versão 1.0 com o conteúdo serializado em PHP $url = "https://api.wordpress.org/themes/info/1.0/"; // Definições dos parâmetros API $parametros = array( 'author' => $usuario, 'per_page' => 0, ); $argumentos = (object) $parametros; $http_argumentos = array( 'body' => array( 'action' => "query_themes", 'timeout' => 15, 'request' => serialize( $argumentos ) ) ); // Faz a requisição $resposta = wp_remote_post( $url , $http_argumentos ); if ( is_wp_error( $resposta ) ) { $resposta_erro = $resposta->get_error_message(); echo "Erro ao fazer a requisição: " . $resposta_erro; } else { $conteudo = unserialize( $resposta['body'] ); if ( isset( $conteudo->info['results'] ) ) { $temas = $conteudo->info['results']; echo "O usuário ${usuario} criou ${temas} temas."; } else { echo "Não foi possível pegar o número de temas criado pelo usuário."; } }
Code language: PHP (php)

Similar Posts

Você tem algo construtivo sobre este texto para dizer? Então comente abaixo