Wanneer je een aanvraag (request) verstuurt via je web browser bestaat deze meestal uit een URL met eventuele optionele query parameters. Je browser ontvangt het antwoord (response) en toont dit in een visueel formaat. Algemeen bevat de ‘body’ van je pagina een hoop data zoals teksten, beelden, video’s enzoverder.
Wat als je niet geïnteresseerd bent in de ‘body’ van de response maar wil je enkel controleren of de ULR (endpoint) geldig en beschikbaar is? Then say hello to your little friend wp_remote_head()
.
In hoeverre verschilt wp_remote_head van wp_remote_get?
Wil je het simpele antwoord? wp_remote_head()
is gewoonweg een wrapper van de wp_remote_get()
maar met één groot verschil: de wp_remote_head()
bevat geen body maar ontvangt enkel de response headers. Dit zorgt ervoor dat de request/response veel sneller wordt uitgevoerd.
Enkele voorbeelden
# Voorbeeld 1:
$response = wp_remote_head( 'https://filipvanreeth.com' );
# Voorbeeld 2:
$response = wp_remote_head(
'https://filipvanreeth.com',
array(
'timeout' => 20,
'sslverify' => false
)
);
PHPVervolgens kunnen we de response opvangen via is_wp_error()
en wp_remote_retrieve_response_code()
:
$response = wp_remote_head( 'https://filipvanreeth.com' );
$response_code = wp_remote_retrieve_response_code( $response );
if( is_wp_error( $response ) || 200 !== $response_code ) {
// error
} else {
// success
}
PHP