Você precisa usar a API de algum sistema, ou um webservice, o caminho seria CURL ou outra função do PHP, certo? Errado — No WordPress você pode economizar tempo usando funções próprias, sendo que essas funções vão verificar automaticamente qual a melhor forma de faze-lo, seja CURL ou outro.

Tudo será feito usando a chamada HTTP API do WordPress.

WP Remote Post – Requisições do tipo POST

Usando a função wp_remote_post()  é possível fazer uma requisição HTTP do tipo POST. Abaixo um exemplo:


<?php
$request = wp_remote_post('URL DA REQUISICAO');

view raw

gistfile1.php

hosted with ❤ by GitHub

Nesse exemplo acima, teremos todos os dados da requisição dentro da variável $request, se quisermos retornar o body dela, isso é, o conteúdo da resposta, podemos usar a função wp_retrieve_body(), veja o exemplo abaixo:


<?php
$request = wp_remote_post('URL DA REQUISICAO');
echo wp_remote_retrieve_body($request);

view raw

gistfile1.php

hosted with ❤ by GitHub

Nesse exemplo o PHP irá exibir todo conteúdo da requisição.

WP Remote Get – Requisições do tipo GET

Usando a função wp_remote_get() nós conseguimos fazer uma requisição do tipo GET, veja o exemplo abaixo:


<?php
$request = wp_remote_get('URL DA REQUISICAO');

view raw

gistfile1.php

hosted with ❤ by GitHub

 

Assim como no POST, nós conseguimos retornar o conteúdo usando a função wp_retrieve_body(), veja um exemplo:


<?php
$request = wp_remote_get('URL DA REQUISICAO');
echo wp_remote_retrieve_body($request);

view raw

gistfile1.php

hosted with ❤ by GitHub

Conheça mais a HTTP API

Com só esses exemplos acima já conseguimos fazer uma requisição HTTP complexa. Incrível, não?

 

Conheça mais sobre essa API em:

https://codex.wordpress.org/HTTP_API

 

2 thoughts on “Fazendo requisições HTTP através de funções do WordPress

  1. Luiz Responder

    Gostei muito do seu post. Já faz algumas semanas que estou procurando algo do tipo para o meu site. Estou fazendo um projeto não comercial e queria simplicidade na hora do site. Optei por usar o wordpress mas para minha aplicação eu necessito da utilização de uma base de dados propria mas não consigo fazer a comunicação por formularios para o login dos usuarios. Você teria algum tutorial para me indicar? Estou utilizando uma REST api json para comunicação com o banco

    • Matheus Gimenez Autor do postResponder

      Olá Luiz, de cabeça assim não tenho nenhum tutorial em mente, mas pra decodificar JSON você pode usar essa funções que listei com uma função nativa do PHP chamada json_decode(). Essa função vai transformar seu objeto JSON em objetos ou array do PHP.

      Boa sorte.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *