10.2. Helfer-Funktionen

Die HTTP-API liegt komplett objektorientiert vor. D.h. Sie können alle Klassen, wie WP_Http, WP_Http_Streams oder WP_Http_Curl entsprechend nutzen (Sie finden alle Klassen in der Datei /wp-includes/class-http.php). WordPress liefert aber auch so genannte Helfer-Funktionen, die ich Ihnen an dieser Stelle wärmstens empfehlen will. Das positive daran ist, dass WordPress das Fehlermanagement im Hintergrund übernimmt. Das bedeutet, alle Funktionen geben einen Fehler der Klasse WP_Error aus, falls etas schief ging. Sie müssen Ihn dann nur noch entsprechend behandeln.

Wie bereits angesprochen wurde der Unterbau der HTTP-API in Version 4.6. geändert. Es hielten damit noch mehr Klassen Einzug in WordPress. Neben den Helfer-Funktionen gibt es auch entsprechende Methoden der Klassen die gleichermaßen genutzt werden können. Im nachfolgenden Teil beschreibe ich deshalb wie Sie einerseits die Helfer-Funktionen oder aber die Klassenmethoden nutzen.

wp_remote_request()

<?php
function wp_remote_request( $url, $args = array() ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

Zurückgegeben wird entweder ein Objekt der Klasse WP_Error oder ein Array mit Werten. Beachten Sie bitte, dass die Rückgabewerte abhängig vom Webserver sind. Es kann also vorkommen, dass in Ihrer Abfrage einige Rückgabewerte nicht existieren.

Seit Version 4.6. existiert im Rückgabe-Array der Schlüssel http_response welches ein WP_HTTP_Requests_Response-Objekt zurückgibt. Aus Gründen der Rückwärtskompatibilität gibt WordPress jedoch noch immer das Array anstatt des neueren Objekts zurück.

Beispiel

You’re not allowed to see this content. Please log in first.

wp_remote_get()

<?php
function wp_remote_get( $url, $args = array() ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_remote_post()

<?php
function wp_remote_post( $url, $args = array() ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_remote_head()

<?php
function wp_remote_head( $url, $args = array() ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_safe_remote_request()

Diese Funktion ist letztlich das selbe wie wp_remote_request() mit dem Unterschied, dass sie immer dann Anwendung finden soll, wenn der Parameter $url frei wählbar ist. Also wenn eventuell unsichere URLs aufgerufen werden könnten.

<?php
function wp_safe_remote_request( $url, $args = array() ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_safe_remote_get()

Diese Funktion ist letztlich das selbe wie wp_remote_get() mit dem Unterschied, dass sie immer dann Anwendung finden soll, wenn der Parameter $url frei wählbar ist. Also wenn eventuell unsichere URLs aufgerufen werden könnten.

<?php
function wp_safe_remote_get( $url, $args = array() ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_safe_remote_post()

Diese Funktion ist letztlich das selbe wie wp_remote_post() mit dem Unterschied, dass sie immer dann Anwendung finden soll, wenn der Parameter $url frei wählbar ist. Also wenn eventuell unsichere URLs aufgerufen werden könnten.

<?php
function wp_safe_remote_post( $url, $args = array() ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_safe_remote_head()

Diese Funktion ist letztlich das selbe wie wp_remote_head() mit dem Unterschied, dass sie immer dann Anwendung finden soll, wenn der Parameter $url frei wählbar ist. Also wenn eventuell unsichere URLs aufgerufen werden könnten.

<?php
function wp_safe_remote_head( $url, $args = array() ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_remote_retrieve_headers()

Um alle Header-Werte der Antwort zu erhalten, müssen Sie nicht selbst auf ein WP_Error-Objekt oder ähnliches prüfen. WordPress kann das für Sie erledigen. Und zwar mit dieser Helfer-Funktion:

<?php
function wp_remote_retrieve_headers( &$response ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_remote_retrieve_header()

Auch einzelne Werte im Antwort-Header können auf ihre Existenz hin überprüft werden.

<?php
function wp_remote_retrieve_header( &$response, $header ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_remote_retrieve_response_code()

Zur schnellen Überprüfung ob eine Abfrage abgesetzt werden konnte und ob eine Antwort zurückkam, kann wp_remote_retrieve_response_code() genutzt werden. Es liefert einen der in Kapitel 9.1. angesprochenen HTTP-Statuscodes zurück (eine genaue Übersicht über alle Codes finden Sie hier: http://de.wikipedia.org/wiki/HTTP-Statuscode).

<?php
function wp_remote_retrieve_response_code( &$response ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_remote_retrieve_response_message()

Benötigen Sie den unverarbeitete Status-Nachricht können Sie diese Funktion nutzen:

<?php
function wp_remote_retrieve_response_message( &$response ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.

wp_remote_retrieve_body()

Um den eigentlichen Inhalt einer Abfrage-Antwort zu erhalten, können Sie diese Helfer-Funktion nutzen:

<?php
function wp_remote_retrieve_body( &$response ) {
	...
}
?>

Es gilt:

You’re not allowed to see this content. Please log in first.