Funzioni core di WordPress per effettuare richieste HTTP

Funzioni core di WordPress per effettuare richieste HTTP

WordPress fornisce un insieme di funzioni core per gestire facilmente richieste HTTP, come API REST o comunicazioni esterne. Il sistema astratto di HTTP API in WordPress semplifica l'invio di richieste GET, POST e altro ancora, gestendo automaticamente errori, redirect e compatibilità server.

wp_remote_get()

La funzione wp_remote_get() è utilizzata per inviare richieste HTTP GET a un URL specificato.

$response = wp_remote_get( 'https://example.com/api/data' );

if ( is_wp_error( $response ) ) {
    $error_message = $response->get_error_message();
    echo "Something went wrong: $error_message";
} else {
    $body = wp_remote_retrieve_body( $response );
    echo $body;
}

wp_remote_post()

La funzione wp_remote_post() invia richieste HTTP POST, ideale per inviare dati a un server.

$response = wp_remote_post( 'https://example.com/api/data', array(
    'body' => array(
        'key1' => 'value1',
        'key2' => 'value2'
    )
) );

if ( is_wp_error( $response ) ) {
    $error_message = $response->get_error_message();
    echo "Something went wrong: $error_message";
} else {
    $body = wp_remote_retrieve_body( $response );
    echo $body;
}

wp_remote_request()

wp_remote_request() è una funzione più generica che permette di specificare il metodo HTTP desiderato, come PUT o DELETE, oltre a GET e POST.

$response = wp_remote_request( 'https://example.com/api/data', array(
    'method' => 'DELETE'
) );

if ( is_wp_error( $response ) ) {
    $error_message = $response->get_error_message();
    echo "Something went wrong: $error_message";
} else {
    $body = wp_remote_retrieve_body( $response );
    echo $body;
}

Gestione delle risposte

Dopo aver effettuato una richiesta, WordPress fornisce funzioni helper per estrarre facilmente informazioni utili:

  • wp_remote_retrieve_body( $response ) - Recupera il corpo della risposta.
  • wp_remote_retrieve_response_code( $response ) - Ottiene il codice HTTP della risposta.
  • wp_remote_retrieve_headers( $response ) - Accede agli header HTTP della risposta.

Conclusione

Le funzioni HTTP API di WordPress sono strumenti potenti per interagire con servizi esterni, mantenendo la compatibilità con diversi ambienti server. Utilizzandole correttamente, è possibile gestire comunicazioni robuste e sicure senza dover scrivere codice HTTP a basso livello.