O próprio WordPress tem uma ótima interface administrativa que o torna adequado como um CMS. Nem todas as informações capturadas nele são para postagens e páginas. Neste exemplo, escrevi uma função que pode ser usada para interagir com o serviço HipChat para criar uma nova sala.
No curl, seria assim:
curl https://api.hipchat.com/v2/room\?auth_token=XXXXXXXX --data '{"name":"New Room"}' --header "Content-Type:application/json"
Para tornar isso modular, envolvi-o em uma função e usaremos funções específicas do WP para nossa solicitação POST.
function hipchat_create_room( $name = null ) {
Em seguida, precisamos adicionar o URL , os dados e os cabeçalhos das informações específicas da solicitação . O HipChat requer que os dados sejam JSON, então usamos em json_encode( $arg_data );
torno de nossa matriz de dados.
$post_url = 'https://api.hipchat.com/v2/room?auth_token=XXXXXXXX';
$arg_data = array( 'name' => $name );
$data = json_encode( $arg_data );
$args = array( 'headers' => array( 'Content-Type' => 'application/json' ), 'body' => $data );
A próxima parte é específica do WP e é recomendada apenas se você estiver usando a plataforma. É relativamente conciso.
$response = wp_remote_post( esc_url_raw( $post_url ), $args );
$response_code = wp_remote_retrieve_response_code( $response );
$response_body = wp_remote_retrieve_body( $response );
Verifique se há erros no código de resposta:
// Bail out early if there are any errors
if ( !in_array( $response_code, array(200,201) ) || is_wp_error( $response_body ) )
return false;
Como a resposta está em JSON, prefiro convertê-la para PHP e retornar o resultado.
$result = json_decode( $response_body );
return $result;
}
Você poderia facilmente pegar este exemplo e adicionar funções adicionais para fornecer mais interação com o HipChat. Por exemplo, agora que criou uma sala, você pode postar uma notificação com algumas informações capturadas de um formulário.
Handy!