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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

wp_remote_get()

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

Es gilt:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

wp_remote_post()

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

Es gilt:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

wp_remote_head()

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

Es gilt:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.