{"id":39593,"date":"2020-12-09T01:33:31","date_gmt":"2020-12-09T09:33:31","guid":{"rendered":"https:\/\/kinsta.com\/?p=4181"},"modified":"2023-09-05T13:44:26","modified_gmt":"2023-09-05T12:44:26","slug":"wordpress-http-api","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/","title":{"rendered":"Verwendung der HTTP-API von WordPress"},"content":{"rendered":"<p>Die WordPress-<a href=\"https:\/\/codex.wordpress.org\/HTTP_API\">HTTP-API<\/a> besteht aus einer Reihe von Funktionen, die dir helfen werden, HTTP-Aufrufe viel einfacher zu machen. Du brauchst nicht mehr mit file_get_contents oder cURL herumzuspielen, nur noch ein einziges einheitliches Interface. Das ist gro\u00dfartig, um mit APIs von Drittanbietern zu interagieren, besonders mit REST-vollen wie Twitter, Facebook, MailChimp und anderen.<\/p>\n<ul>\n<li><a href=\"#basics-of-http\">Die Grundlagen von HTTP<\/a><\/li>\n<li><a href=\"#restful-apis\">\u00dcber Restful APIs<\/a><\/li>\n<li><a href=\"#wordpress-http-api\">Die WordPress-HTTP-API benutzen<\/a><\/li>\n<\/ul>\n<h2 id=\"basics-of-http\">Die Grundlagen von HTTP<\/h2>\n<p>Wir haben alle schon einmal HTTP in Aktion gesehen. In der Tat, wenn du zum ersten Mal im Web bist und dies das erste ist, was du liest, hast du bereits gesehen, wie HTTP seine Magie entfaltet. HTTP ist ein Netzwerkprotokoll, das verwendet wird, um alle Dateien und Daten (Ressourcen) \u00fcber die Internetseiten (Interwebs) zu liefern.<\/p>\n<p>Die Gleichung besteht im Wesentlichen aus zwei Teilen: der <strong>HTTP-Anfrage<\/strong> und der <strong>HTTP-Antwort<\/strong>, oder Transaktion. Sowohl die Anfrage als auch die Antwort sind in ihrer Struktur sehr \u00e4hnlich, beide haben vier Teile:<\/p>\n<ul>\n<li>Eine Anfangszeile<\/li>\n<li>Null oder mehr Kopfzeilen<\/li>\n<li>Eine leere Zeile<\/li>\n<li>Ein optionaler K\u00f6rperinhalt<\/li>\n<\/ul>\n<h3>Die Anfangszeile<\/h3>\n<p>Anfragen benutzen die Anfangszeile, um drei Informationen zu senden: den Methodennamen, den Pfad und die HTTP-Version. Wenn du dir zum Beispiel die Hauptseite des Kinsta-Blogs ansiehst, siehst du dies in der Anfangszeile der Anfrage.<\/p>\n<pre><code class=\"language-bash\">GET \/blog\/ HTTP\/1.1<\/code><\/pre>\n<p>Die Responses liefern ebenfalls drei Informationen, wenn auch etwas unterschiedliche: Die HTTP-Version, den Response-Code und eine Beschreibung der Antwort. Wenn ihr eine Anfrage an den Kinsta-Hauptblog stellt, sendet es eine HTTP-Antwort mit der folgenden Anfangszeile:<\/p>\n<pre><code class=\"language-bash\">HTTP\/1.0 200 OK<\/code><\/pre>\n<h3>\u00dcberschriften<\/h3>\n<p>Kopfzeilen enthalten verschiedene Informationen \u00fcber die Anfrage oder die Antwort. HTTP 1.1 definiert 46 Arten von Headern, aber nur einer wird ben\u00f6tigt (nur f\u00fcr Anfragen), der &#8222;Host&#8220;-Header. Schaut euch den Screenshot aus meinen Chrome-Entwickler-Tools an, der einige der Header zeigt, die zusammen mit einer Anfrage an den Kinsta-Hauptblog gesendet werden:<\/p>\n<p><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/07\/Screen-Shot-2015-07-22-at-13.48.11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full \" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/07\/Screen-Shot-2015-07-22-at-13.48.11.png\" alt=\"HTTP request headers sent\" width=\"572\" height=\"167\"><\/a><\/p>\n<h3>Body<\/h3>\n<p>Der Body enth\u00e4lt normalerweise Daten \u00fcber die angeforderte Ressource. Wenn du eine GET-Anfrage an den Haupt-Blog von Kinsta schickst, solltest du den HTML-Code erhalten, der ben\u00f6tigt wird, um die Seite (die Ressource) im Body-Inhalt darzustellen.<\/p>\n<h3>Mehr Informationen<\/h3>\n<p>Das ist alles, was du im Moment \u00fcber HTTP wissen musst. Wir werden uns haupts\u00e4chlich auf den Methodennamen (GET,POST, etc), die Header und den Body konzentrieren. Wenn du mehr lernen m\u00f6chtest, empfehle ich <a href=\"http:\/\/www.jmarshall.com\/easy\/http\/\">James Marshall&#8217;s Erkl\u00e4rung von HTTP<\/a>, es ist eine sehr gut geschriebene Fibel f\u00fcr deine HTTP-Bed\u00fcrfnisse.<\/p>\n<h2 id=\"restful-apis\">\u00dcber Restful APIs<\/h2>\n<p>Restful APIs, oder die REST-Methodik, zielt darauf ab, eine einfache und standardisierte M\u00f6glichkeit zu bieten, mit einer Anwendung zu interagieren (hier kannst du mehr \u00fcber die <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-rest-api\/\">Grundlagen der WordPress REST API<\/a> erfahren). Es wird oft in Verbindung mit HTTP verwendet, um ein sehr verst\u00e4ndliches System von Interaktionen zu schaffen. Es basiert auf <strong>Pfaden<\/strong> und <strong>HTTP-Verben<\/strong>.<\/p>\n<p>Die HTTP-Verben sind die gleichen wie die Methodennamen, die wir vorher gesehen haben, die gebr\u00e4uchlichsten sind: GET, POST, PUT, DELETE. Ich denke, PUT ist das einzige mehrdeutige hier, betrachte es als einen Aktualisierungsbefehl. Wenn wir diese Verben zusammen mit Pfaden verwenden, k\u00f6nnen wir ein sinnvolles System aufbauen:<\/p>\n<p><code>GET \/post\/1\/<\/code> w\u00fcrde benutzt werden, um den Beitrag mit der ID 1 abzurufen. <code>DELETE \/post\/1\/<\/code> w\u00fcrde benutzt werden, um denselben Beitrag zu l\u00f6schen. Wir k\u00f6nnten auch <code>PUT \/post\/1\/<\/code> benutzen, um es zu aktualisieren, indem wir relevante Informationen im Anfragetext und in den Kopfzeilen angeben.<\/p>\n<p>Ich bin mir sicher, dass du sehen kannst, dass wir allein durch das Anh\u00e4ngen einer HTTP-Version an unsere obigen Codes tats\u00e4chlich die Anfangszeile einer HTTP-Transaktion haben, was nur ein Grund daf\u00fcr ist, dass dieses System so m\u00e4chtig ist.<\/p>\n<h2 id=\"wordpress-http-api\">Die WordPress HTTP-API benutzen<\/h2>\n<p>Bewaffnet mit all diesem Wissen k\u00f6nnen wir uns leicht vorstellen, wie die WordPress HTTP API funktioniert. Die vier Methoden, die benutzt werden, um Anfragen zu stellen und die Antworten abzufangen, sind<\/p>\n<ul>\n<li><code>wp_remote_get()<\/code><\/li>\n<li><code>wp_remote_post()<\/code><\/li>\n<li><code>wp_remote_head()<\/code><\/li>\n<li><code>wp_remote_request()<\/code><\/li>\n<\/ul>\n<p>Die ersten beiden Funktionen sind selbsterkl\u00e4rend, sie verwenden die GET- bzw. POST-Methode in der Anfrage. Die dritte Funktion benutzt die HEAD-Methode, etwas, wor\u00fcber wir noch nicht gesprochen haben. Diese Methode wird verwendet, um nur die Header einer Antwort abzurufen. Dies kann eine <strong>Menge<\/strong> Overhead sparen, wenn wir nur einige Metadaten \u00fcber eine Ressource ben\u00f6tigen. Die letzte Funktion ist eine generische Funktion, du kannst innerhalb der Parameter der Funktion angeben, welche Methode du verwenden m\u00f6chtest.<\/p>\n<p>Es gibt f\u00fcnf zus\u00e4tzliche Funktionen, die wir verwenden k\u00f6nnen, um bestimmte Teile der Antwort abzurufen. Diese sind im Grunde genommen Shotcuts, um durch die Masse der Daten, die wir erhalten, zu navigieren:<\/p>\n<ul>\n<li><code>wp_remote_retrieve_body()<\/code><\/li>\n<li><code>wp_remote_retrieve_header()<\/code><\/li>\n<li><code>wp_remote_retrieve_headers()<\/code><\/li>\n<li><code>wp_remote_retrieve_response_code()<\/code><\/li>\n<li><code>wp_remote_retrieve_response_message()<\/code><\/li>\n<\/ul>\n<h3>Unsere erste HTTP-Anfrage<\/h3>\n<p>Lass uns einen schnellen Test machen, indem wir die Header-Informationen aus dem Kinsta-Blog abrufen. Du kannst das \u00fcberall innerhalb eines Plugins oder Themes machen, aber du solltest dich nat\u00fcrlich in einer Testumgebung befinden, um sicherzustellen, dass du keinen unerw\u00fcnschten Text auf einer live Webseite ausgibst.<\/p>\n<pre><code class=\"language-php\">$response = wp_remote_head( 'https:\/\/kinsta.com\/blog\/' );\nvar_dump( $response )<\/code><\/pre>\n<p>Wie ihr an der Antwort, die wir unten erhalten, sehen k\u00f6nnt, ist der Body-Bereich leer (da wir die HEAD-Methode verwenden) und alle Header werden angezeigt. Um nur die Header ohne all die anderen Array-Mitglieder zu holen, k\u00f6nnten wir die <code>wp_remote_retrieve_headers()<\/code>-Funktion verwenden.<\/p>\n<pre><code class=\"language-php\">array (size=5)\n  'headers' =&gt; \n    array (size=13)\n      'server' =&gt; string 'nginx' (length=5)\n      'date' =&gt; string 'Wed, 22 Jul 2015 14:22:07 GMT' (length=29)\n      'content-type' =&gt; string 'text\/html; charset=UTF-8' (length=24)\n      'connection' =&gt; string 'close' (length=5)\n      'vary' =&gt; string 'Accept-Encoding' (length=15)\n      'x-pingback' =&gt; string 'https:\/\/kinsta.com\/xmlrpc.php' (length=29)\n      'x-powered-by' =&gt; string 'HHVM\/3.8.0' (length=10)\n      'link' =&gt; string '; rel=\"https:\/\/github.com\/WP-API\/WP-API\"' (length=68)\n      'x-frame-options' =&gt; string 'DENY' (length=4)\n      'x-content-type-options' =&gt; string 'nosniff' (length=7)\n      'strict-transport-security' =&gt; string 'max-age=31536000' (length=16)\n      'x-kinsta-cache' =&gt; string 'HIT' (length=3)\n      'content-encoding' =&gt; string 'gzip' (length=4)\n  'body' =&gt; string '' (length=0)\n  'response' =&gt; \n    array (size=2)\n      'code' =&gt; int 200\n      'message' =&gt; string 'OK' (length=2)\n  'cookies' =&gt; \n    array (size=0)\n      empty\n  'filename' =&gt; null<\/code><\/pre>\n<h3>Den Sinn der APIs verstehen<\/h3>\n<p><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/07\/twitter-wordpress-api.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full \" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/07\/twitter-wordpress-api.png\" alt=\"twitter wordpress api\" width=\"800\" height=\"185\"><\/a><\/p>\n<p>Die gr\u00f6\u00dfte H\u00fcrde, die ich f\u00fcr Entwickler sehe, ist die schiere Menge an neuem Zeug, das sie einbauen m\u00fcssen, damit ein API-Aufruf funktioniert. Du musst \u00fcber HTTP Bescheid wissen, wie man Anfragen stellt und auch, wie man sich richtig authentifiziert, ohne das wird jeder einzelne Aufruf fehlschlagen. Schauen wir uns ein Beispiel durch die Twitter API an, da sie eine gro\u00dfartige Dokumentation haben.<\/p>\n<p>Wir werden uns die <a href=\"https:\/\/dev.twitter.com\/oauth\/application-only\">Application-only-Authentifizierung<\/a> anschauen (was ein einfacherer Ablauf ist), ich werde die gleichen Schritte durchgehen, die Twitter vorschl\u00e4gt. Bevor wir anfangen, solltest du <a href=\"https:\/\/apps.twitter.com\/\">eine Twitter-Applikation erstellen<\/a>.<\/p>\n<p>Du solltest in der Lage sein, den untenstehenden Code irgendwo in ein Theme oder ein Plugin einzuf\u00fcgen, aber stelle wie zuvor sicher, dass du eine Testseite benutzt!<\/p>\n<h4>Schritt 1: Verbraucherschl\u00fcssel und Geheimnis verschl\u00fcsseln<\/h4>\n<p>Sobald du eine Anwendung erstellt hast, solltest du einen Verbraucherschl\u00fcssel und ein Secret zur Hand haben. Um die Dinge einfacher zu machen, lass uns Konstanten erstellen, die diese Informationen f\u00fcr uns bereithalten.<\/p>\n<pre><code class=\"language-php\">define( 'TWITTER_CONSUMER_KEY', '12disnir382jeqwdasd23wdasi' );\ndefine( 'TWITTER_CONSUMER_SECRET', '23wdajskduhtrq2c32cuq9r8uhuf' )<\/code><\/pre>\n<p>Die drei Schritte zur Erstellung einer kodierten Version davon sind in den Dokumenten dargelegt:<\/p>\n<ul>\n<li>URL kodieren den Verbraucherschl\u00fcssel und das Verbrauchergeheimnis<\/li>\n<li>Verkn\u00fcpfe sie mit einem Doppelpunkt<\/li>\n<li>Base64 kodiert den ganzen String<\/li>\n<\/ul>\n<p>In PHP wird das ziemlich einfach zu bewerkstelligen sein, los geht&#8217;s!<\/p>\n<pre><code class=\"language-php\">\n$key = urlencode( TWITTER_CONSUMER_KEY );\n$secret = urlencode( TWITTER_CONSUMER_SECRET );\n$concatenated = $key . ':' . $secret;\n$encoded = base64_encode( $concatenated );\n<\/code><\/pre>\n<h4>Schritt 2: Einen Tr\u00e4gerspielstein bekommen<\/h4>\n<p>Anstatt dein eigentliches Passwort zu verwenden, sendest du Twitter deinen verschl\u00fcsselten String (der deine API-Anmeldedaten verwendet) und du erh\u00e4ltst einen tempor\u00e4ren Pass, der f\u00fcr eine bestimmte Zeit g\u00fcltig ist. Um dies zu tun, werden wir eine HTTP-Anfrage stellen, hier ist, was Twitter zu sagen hat:<\/p>\n<ul>\n<li>Die Anfrage muss eine HTTP POST Anfrage sein.<\/li>\n<li>Die Anfrage muss einen Authorization Header mit dem Wert Basic .<\/li>\n<li>Die Anfrage muss einen Content-Type-Header mit dem Wert application\/x-www-form-urlencoded;charset=UTF-8 enthalten.<\/li>\n<li>Der Hauptteil der Anfrage muss grant_type=client_credentials sein.<\/li>\n<\/ul>\n<p>Fangen wir mit den Grundlagen an. Wir wissen, dass wir eine POST-Anfrage ben\u00f6tigen, also werden wir <code>wp_remote_post()<\/code> verwenden. Die Funktion greift auf Parameter zur\u00fcck; der erste ist die URL, der zweite enth\u00e4lt optionale Argumente. Die URL wird <code>https:\/\/api.twitter.com\/oauth2\/token<\/code> sein, den zweiten Parameter werden wir verwenden, um alle anderen Anforderungen zu erf\u00fcllen.<\/p>\n<pre><code class=\"language-php\">$args = array(\n    'headers' =&gt; array(\n        'Authorization' =&gt; 'Basic ' . $encoded,\n        'Content-Type' =&gt; 'application\/x-www-form-urlencoded;charset=UTF-8'\n    ),\n    'body' =&gt; 'grant_type=client_credentials'\n);\n$response = wp_remote_post( 'https:\/\/api.twitter.com\/oauth2\/token', $args );\n<\/code><\/pre>\n<p>Header m\u00fcssen als ein Array hinzugef\u00fcgt werden, wobei der Header-Typ der Schl\u00fcssel ist, der Wert der Wert des Array-Mitglieds; Der Body sollte ein String sein. Bei Erfolg solltest du eine Antwort \u00e4hnlich der untenstehenden sehen.<\/p>\n<pre><code class=\"language-php\">array (size=5)\n  'headers' =&gt; \n    array (size=23)\n      'cache-control' =&gt; string 'no-cache, no-store, must-revalidate, pre-check=0, post-check=0' (length=62)\n      'content-disposition' =&gt; string 'attachment; filename=json.json' (length=30)\n      'content-encoding' =&gt; string 'deflate' (length=7)\n      'content-length' =&gt; string '142' (length=3)\n      'content-type' =&gt; string 'application\/json;charset=utf-8' (length=30)\n      'date' =&gt; string 'Wed, 22 Jul 2015 14:47:37 GMT' (length=29)\n      'expires' =&gt; string 'Tue, 31 Mar 1981 05:00:00 GMT' (length=29)\n      'last-modified' =&gt; string 'Wed, 22 Jul 2015 14:47:37 GMT' (length=29)\n      'ml' =&gt; string 'A' (length=1)\n      'pragma' =&gt; string 'no-cache' (length=8)\n      'server' =&gt; string 'tsa_b' (length=5)\n      'set-cookie' =&gt; string 'guest_id=v1%3A14375720938219946; Domain=.twitter.com; Path=\/; Expires=Fri, 21-Jul-2017 14:47:37 UTC' (length=100)\n      'status' =&gt; string '200 OK' (length=6)\n      'strict-transport-security' =&gt; string 'max-age=631138519' (length=17)\n      'x-connection-hash' =&gt; string 'd8b10926f99dwef93rd7edbe5a71a97a' (length=32)\n      'x-content-type-options' =&gt; string 'nosniff' (length=7)\n      'x-frame-options' =&gt; string 'SAMEORIGIN' (length=10)\n      'x-response-time' =&gt; string '34' (length=2)\n      'x-transaction' =&gt; string 'ef0ebwefweece62ef' (length=16)\n      'x-tsa-request-body-time' =&gt; string '0' (length=1)\n      'x-twitter-response-tags' =&gt; string 'BouncerCompliant' (length=16)\n      'x-ua-compatible' =&gt; string 'IE=edge,chrome=1' (length=16)\n      'x-xss-protection' =&gt; string '1; mode=block' (length=13)\n  'body' =&gt; string '{\"token_type\":\"bearer\",\"access_token\":\"AAAAAAAAAAAAAAAAAAAAAFoafQAAAAAAqg%2BxmuH83hjsod6crH5bKTUX9Arc%3D5dWpp0XCTDjyiXxMC7LDLg8JbzPdGlCsJi2R1qjY1FMksTAFyG\"}' (length=155)\n  'response' =&gt; \n    array (size=2)\n      'code' =&gt; int 200\n      'message' =&gt; string 'OK' (length=2)\n  'cookies' =&gt; \n    array (size=1)\n      0 =&gt; \n        object(WP_Http_Cookie)[303]\n          public 'name' =&gt; string 'guest_id' (length=8)\n          public 'value' =&gt; string 'v1:143757645770219946' (length=21)\n          public 'expires' =&gt; int 1500648457\n          public 'path' =&gt; string '\/' (length=1)\n          public 'domain' =&gt; string '.twitter.com' (length=12)\n  'filename' =&gt; null<\/code><\/pre>\n<p>Das Haupthighlight von all dem ist das Access-Token, das im K\u00f6rper der Response zu finden ist. Das holen wir uns jetzt mit unseren praktischen WordPress-Funktionen. In Fortf\u00fchrung unseres vorherigen Beispiels k\u00f6nnten wir uns das Access-Token mit dem folgenden Code holen:<\/p>\n<pre><code class=\"language-php\">$body = wp_remote_retrieve_body( $response );\n$body = json_decode( $body, true );\n$access_token = $body['access_token'];<\/code><\/pre>\n<h4>Schritt 3: Benutze den Tr\u00e4gerspielstein<\/h4>\n<p>Der letzte Schritt ist einfach, dieses Inhaber-Token in allen anderen API-Aufrufen zu verwenden. Wir m\u00fcssen es als &#8222;Authorization&#8220;-Header mit dem Wert hinzuf\u00fcgen: <code>Tr\u00e4ger [\u00dcberbringer_Token]<\/code>. Lass uns einen einfachen API-Aufruf machen, der die neuesten Tweets eines Benutzers \u00fcber den <a href=\"https:\/\/dev.twitter.com\/rest\/reference\/get\/statuses\/user_timeline\">user_timeline<\/a> Pfad abruft.<\/p>\n<pre><code class=\"language-php\">$url = 'https:\/\/api.twitter.com\/1.1\/statuses\/user_timeline.json?screen_name=danielpataki&count=3';\n$args = array(\n    'headers' =&gt; array(\n        'Authorization' =&gt; 'Bearer ' . $access_token,\n    ),\n);\n\n$response = wp_remote_get( $url, $args );\n$tweets = json_decode( wp_remote_retrieve_body($response), true )\n<\/code><\/pre>\n<p>Am Ende von all dem wird die Variable <code>$tweets<\/code> eine Reihe von Tweets enthalten. Du kannst verschiedene Eigenschaften dieses Arrays verwenden, um den Tweet anzuzeigen oder die Daten zu manipulieren.<\/p>\n<h2>Schlussfolgerung<\/h2>\n<p>Wie du sehen kannst, ist es nicht so schwierig, die WordPress HTTP API zu benutzen, um sich mit externen Diensten zu verbinden. Viele der heutigen modernen APIs sind nach den gleichen REST-Prinzipien aufgebaut &#8211; wenn du einmal eines gelernt hast, wirst du schnell den Dreh bei den anderen herausbekommen.<\/p>\n<p>Denke daran, dass du immer, wenn die Dokumentation dich auffordert, den Body zu benutzen, den Body benutzen solltest und wenn es nach Headern verlangt, einfach so viele wie n\u00f6tig hinzuf\u00fcgen solltest. Dann schau dir die Antwort an, wandle sie in ein Array um, schnapp dir die Daten, die du brauchst, und benutze es, so einfach ist es.<\/p>\n<p>Wenn jemand schon einmal mit einer besonders guten oder schlechten API gearbeitet hat, oder ihr ein paar Tipps und Tricks mit der WordPress HTTP API habt, lasst es uns in den Kommentaren wissen!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the things I love about WordPress is all the tools it gives you. Some of these are well known and much-used, like the options and meta APIs. Some are under-utilized, even though they provide great functionality which could make our lives so much easier. Today I&#8217;ll be looking at one of these, the HTTP API.<\/p>\n","protected":false},"author":18,"featured_media":39595,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[351,29],"topic":[925,999],"class_list":["post-39593","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-api","tag-wordpress","topic-api","topic-wordpress-entwicklung"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Verwendung der HTTP-API von WordPress - Kinsta<\/title>\n<meta name=\"description\" content=\"Die WordPress HTTP API wird dir helfen, HTTP-Aufrufe viel einfacher zu machen. Dies ist eine komplette Anleitung, wie man es in WordPress benutzt.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verwendung der HTTP-API von WordPress\" \/>\n<meta property=\"og:description\" content=\"Die WordPress HTTP API wird dir helfen, HTTP-Aufrufe viel einfacher zu machen. Dies ist eine komplette Anleitung, wie man es in WordPress benutzt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-09T09:33:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-05T12:44:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daniel Pataki\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Die WordPress HTTP API wird dir helfen, HTTP-Aufrufe viel einfacher zu machen. Dies ist eine komplette Anleitung, wie man es in WordPress benutzt.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png\" \/>\n<meta name=\"twitter:creator\" content=\"@danielpataki\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Pataki\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/\"},\"author\":{\"name\":\"Daniel Pataki\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff\"},\"headline\":\"Verwendung der HTTP-API von WordPress\",\"datePublished\":\"2020-12-09T09:33:31+00:00\",\"dateModified\":\"2023-09-05T12:44:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/\"},\"wordCount\":1491,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png\",\"keywords\":[\"API\",\"WordPress\"],\"articleSection\":[\"WordPress Entwicklung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/\",\"name\":\"Verwendung der HTTP-API von WordPress - Kinsta\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png\",\"datePublished\":\"2020-12-09T09:33:31+00:00\",\"dateModified\":\"2023-09-05T12:44:26+00:00\",\"description\":\"Die WordPress HTTP API wird dir helfen, HTTP-Aufrufe viel einfacher zu machen. Dies ist eine komplette Anleitung, wie man es in WordPress benutzt.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png\",\"width\":800,\"height\":500,\"caption\":\"wordpress-http-api-de\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WordPress Entwicklung\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/wordpress-entwicklung\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Verwendung der HTTP-API von WordPress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff\",\"name\":\"Daniel Pataki\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g\",\"caption\":\"Daniel Pataki\"},\"description\":\"Hi, my name is Daniel, I'm the CTO here at Kinsta. You may know me from Smashing Magazine, WPMU Dev, Tuts+ and other WordPress\/Development magazines. Aside from WordPress and PHP I spend most of my time around Node, React, GraphQL and other technologies in the Javascript space. When not working on making the best hosting solution in the Universe I collect board games, play table football in the office, travel or play guitar and sing in a pretty bad band.\",\"sameAs\":[\"http:\/\/danielpataki.com\",\"https:\/\/x.com\/danielpataki\"],\"url\":\"https:\/\/kinsta.com\/de\/blog\/author\/danielpataki\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Verwendung der HTTP-API von WordPress - Kinsta","description":"Die WordPress HTTP API wird dir helfen, HTTP-Aufrufe viel einfacher zu machen. Dies ist eine komplette Anleitung, wie man es in WordPress benutzt.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/","og_locale":"de_DE","og_type":"article","og_title":"Verwendung der HTTP-API von WordPress","og_description":"Die WordPress HTTP API wird dir helfen, HTTP-Aufrufe viel einfacher zu machen. Dies ist eine komplette Anleitung, wie man es in WordPress benutzt.","og_url":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2020-12-09T09:33:31+00:00","article_modified_time":"2023-09-05T12:44:26+00:00","og_image":[{"width":800,"height":500,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png","type":"image\/png"}],"author":"Daniel Pataki","twitter_card":"summary_large_image","twitter_description":"Die WordPress HTTP API wird dir helfen, HTTP-Aufrufe viel einfacher zu machen. Dies ist eine komplette Anleitung, wie man es in WordPress benutzt.","twitter_image":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png","twitter_creator":"@danielpataki","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Daniel Pataki","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/"},"author":{"name":"Daniel Pataki","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff"},"headline":"Verwendung der HTTP-API von WordPress","datePublished":"2020-12-09T09:33:31+00:00","dateModified":"2023-09-05T12:44:26+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/"},"wordCount":1491,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png","keywords":["API","WordPress"],"articleSection":["WordPress Entwicklung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/","url":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/","name":"Verwendung der HTTP-API von WordPress - Kinsta","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png","datePublished":"2020-12-09T09:33:31+00:00","dateModified":"2023-09-05T12:44:26+00:00","description":"Die WordPress HTTP API wird dir helfen, HTTP-Aufrufe viel einfacher zu machen. Dies ist eine komplette Anleitung, wie man es in WordPress benutzt.","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/12\/wordpress-http-api-de.png","width":800,"height":500,"caption":"wordpress-http-api-de"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/wordpress-http-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"WordPress Entwicklung","item":"https:\/\/kinsta.com\/de\/thema\/wordpress-entwicklung\/"},{"@type":"ListItem","position":3,"name":"Verwendung der HTTP-API von WordPress"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff","name":"Daniel Pataki","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g","caption":"Daniel Pataki"},"description":"Hi, my name is Daniel, I'm the CTO here at Kinsta. You may know me from Smashing Magazine, WPMU Dev, Tuts+ and other WordPress\/Development magazines. Aside from WordPress and PHP I spend most of my time around Node, React, GraphQL and other technologies in the Javascript space. When not working on making the best hosting solution in the Universe I collect board games, play table football in the office, travel or play guitar and sing in a pretty bad band.","sameAs":["http:\/\/danielpataki.com","https:\/\/x.com\/danielpataki"],"url":"https:\/\/kinsta.com\/de\/blog\/author\/danielpataki\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/39593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=39593"}],"version-history":[{"count":4,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/39593\/revisions"}],"predecessor-version":[{"id":39594,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/39593\/revisions\/39594"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/39593\/translations\/en"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/39593\/translations\/de"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/39593\/translations\/it"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/39593\/translations\/es"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/39593\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/39593\/translations\/fr"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/39593\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/39595"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=39593"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=39593"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=39593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}