{"id":46957,"date":"2021-08-17T14:07:15","date_gmt":"2021-08-17T12:07:15","guid":{"rendered":"https:\/\/kinsta.com\/?p=4256"},"modified":"2023-03-14T15:22:06","modified_gmt":"2023-03-14T14:22:06","slug":"wordpress-http-api-parte-2","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/","title":{"rendered":"Una Guida a HTTP e alla HTTP API di WordPress &#8211; Parte 2"},"content":{"rendered":"<p><a href=\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-1\/\">Nella prima parte di questa guida<\/a> abbiamo dato un&#8217;occhiata alla HTTP API in generale. Abbiamo visto cos&#8217;\u00e8 l&#8217;HTTP, abbiamo parlato della struttura delle richieste e delle risposte HTTP e di come i tipi di azione e gli URL si uniscono per determinare quello che si riceve a seguito della richiesta. In questo post daremo un&#8217;occhiata all&#8217;API HTTP di WordPress.<\/p>\n<ul>\n<li><a href=\"#wordpress-http-api\">La HTTP API di WordPress<\/a><\/li>\n<li><a href=\"#making-requests\">Fare Richieste<\/a><\/li>\n<li><a href=\"#accessing-github-api\">Accedere all&#8217;API di Github<\/a><\/li>\n<\/ul>\n<h2>La HTTP API di WordPress<\/h2>\n<p>Dalla versione 2.7 circa, <a href=\"https:\/\/kinsta.com\/it\/blog\/api-http-wordpress\/\">WordPress dispone di un&#8217;API per la gestione di HTTP<\/a>. \u00c8 composta da 9 funzioni, di cui probabilmente ne userete solo un paio. Le funzioni possono essere suddivise in due gruppi distinti &#8211; uno per fare richieste, uno per leggere i risultati.<\/p>\n<p><code>wp_remote_get()<\/code>, <code>wp_remote_post()<\/code>, <code>wp_remote_head()<\/code> utilizzano rispettivamente i metodi GET, POST e HEAD per richiedere dati da un dato URL. La funzione <code>wp_remote_request()<\/code> \u00e8 una funzione generale che permette di specificare un URL e un metodo che lo accompagna.<\/p>\n<p>Anche le funzioni utilizzate per leggere le risposte si spiegano da sole. <code>wp_remote_retrieve_body()<\/code> ottiene il corpo della risposta, la funzione <code>wp_remote_retrieve_header()<\/code> ottiene un header denominato. La funzione <code>wp_remote_retrieve_headers()<\/code> restituisce tutte le intestazioni in forma di array, <code>wp_remote_retrieve_response_code()<\/code> d\u00e0 il codice della risposta e <code>wp_remote_retrieve_response_message()<\/code> restituisce il messaggio della risposta.<\/p>\n<p>Questo \u00e8 tutto. Quello che dobbiamo sapere \u00e8 come specificare le intestazioni per fare richieste giuste.<\/p>\n<h2 id=\"making-requests\">Fare Richieste<\/h2>\n<p>Utilizziamo la funzione <code>wp_remote_get()<\/code> per fare una richiesta. Useremo il primo parametro per impostare l&#8217;URL e il secondo per aggiungere argomenti. Potete trovare il set completo dei parametri supportati nel <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_remote_get\">Codex<\/a>, qui mi concentrer\u00f2 sulle informazioni dell&#8217;header.<\/p>\n<p>Per ottenere il messaggio di stato di un utente da Twitter \u00e8 necessario utilizzare il percorso <code>statuses\/user_timeline.json<\/code> insieme all&#8217;URL <code>https:\/\/api.twitter.com\/1.1<\/code> e passare un bearer token per l&#8217;autenticazione &#8211; che ho generato in precedenza. Il bearer token deve essere aggiunto come header di autorizzazione nella forma di <code>Bearer [TOKEN]<\/code>.<\/p>\n<pre><code>$token = 'Sijbwrf82wdaBief'; \n$response = wp_remote_get('https:\/\/api.twitter.com\/1.1\/statuses\/user_timeline.json?screen_name=kinsta', array(\n    'headers' =&gt; array(\n        'Authorization' =&gt; 'Bearer ' . $token\n    ),\n));<\/code><\/pre>\n<p>Questa richiesta restituisce una grande quantit\u00e0 di informazioni che possono essere ottenute stampando la variabile <code>$response<\/code>.Potete anche utilizzare le funzioni di tipo <code>wp_remote_retrieve<\/code> per ottenere una parte della risposta.<\/p>\n<p>Spesso il corpo contiene le informazioni necessarie, di solito in formato JSON. In PHP possiamo convertirlo facilmente in un array:<\/p>\n<pre><code>$data = json_decode( $response['body'], true ) <\/code><\/pre>\n<h2 id=\"accessing-github-api\">Accedere all&#8217;API di Github<\/h2>\n<p>Vediamo un rapido esempio che elencher\u00e0 i nostri ultimi repo Github in un widget WordPress. Per prima cosa, dovrete accedere a Github e andare al vostro profilo, modificarlo e poi andare su &#8220;Personal access tokens&#8221;, dove potrete generare un token.<\/p>\n<figure id=\"attachment_4257\" aria-describedby=\"caption-attachment-4257\" style=\"width: 763px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/08\/Screen-Shot-2015-08-31-at-14.45.52.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4257\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/08\/Screen-Shot-2015-08-31-at-14.45.52.png\" alt=\"Github Access Tokens\" width=\"763\" height=\"252\"><\/a><figcaption id=\"caption-attachment-4257\" class=\"wp-caption-text\">Github Access Tokens<\/figcaption><\/figure>\n<p>Il passo successivo \u00e8 creare un template di widget vuoto. Questo widget avr\u00e0 due opzioni: un posto dove inserire il vostro token API e un titolo. Questo non \u00e8 il metodo migliore, perch\u00e9 salva il token nel <a href=\"https:\/\/kinsta.com\/it\/blog\/database-wordpress\/\">database<\/a>, ma va bene per il nostro esempio.<\/p>\n<pre><code class=\"language-php\">class My_Github_Widget extends WP_Widget {\n\n\tpublic function __construct() {\n\t\tparent::__construct(\n\t\t\t'my_github_widget',\n\t\t\t'My Github Repos',\n\t\t\tarray( 'description' =&gt; 'A widget that showcases your Github repos' )\n\t\t);\n\t}\n\n\tpublic function widget( $args, $instance ) {\n\t\t\/\/ Widget output\n\t}\n\n\tpublic function form( $instance ) {\n\t\t$token = ! empty( $instance['token'] ) ? $instance['token'] : '';\n\t\t$title = ! empty( $instance['title'] ) ? $instance['title'] : 'From Github';\n\t\t?&gt;<\/code><\/pre>\n<pre><code>&lt;label for=\"get_field_id( 'title' ); ?&gt;\"&gt;Title &lt;input class=\"widefat\" id=\"get_field_id( 'title' ); ?&gt;\" name=\"get_field_name( 'title' ); ?&gt;\" type=\"text\" value=\"\"&gt;\n\n&lt;label for=\"get_field_id( 'token' ); ?&gt;\"&gt;Github API Token &lt;input class=\"widefat\" id=\"get_field_id( 'token' ); ?&gt;\" name=\"get_field_name( 'token' ); ?&gt;\" type=\"text\" value=\"\"&gt;\n\n&lt;?php } }<\/code><\/pre>\n<p>Non voglio addentrarmi troppo nella creazione dei widget qui. Se volete saperne di pi\u00f9, date un&#8217;occhiata alla guida sulla <a href=\"https:\/\/codex.wordpress.org\/Widgets_API\">Widget API<\/a> nel Codex. La cosa importante \u00e8 che il metodo <code>widget()<\/code> mostrer\u00e0 il contenuto del nostro widget. All&#8217;interno di quella funzione, ci collegheremo a Github con una richiesta HTTP, poi formatteremo e mostreremo la risposta. Ecco come si fa &#8211; tutto il codice che segue va nel metodo <code>widget()<\/code>.<\/p>\n<pre><code class=\"language-php\">echo $args['before_widget']; \n\nif ( ! empty( $instance['title'] ) ) { \n  echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title']; \n} \n\n$args = array( \n  'headers' =&gt; array( \n    'Accept' =&gt; 'application\/vnd.github.v3+json', \n    'Authorization' =&gt; 'token 3f4f654ab31c2f15e839c74c952e5de2f562f1ee' \n  ) \n); \n\n$response = wp_remote_get( 'https:\/\/api.github.com\/user\/repos', $args ); \n$repos = json_decode( $response['body'], true ); \n\nif( !empty( $repos ) ) { \n  echo '&lt;ul&gt;'; \n  foreach( $repos as $repo ) { \n    echo '&lt;li&gt;&lt;a href=\"' . $repo['url'] . '\" target=\"_blank\"&gt;' . $repo['name'] . '&lt;\/a&gt;&lt;\/li&gt;'; \n  } \n  echo '&lt;\/ul&gt;'; \n} \n\necho $args['after_widget'];<\/code><\/pre>\n<p>Si inizia semplicemente aggiungendo l&#8217;elemento wrapper del widget e il titolo in alto e si conclude chiudendo il wrapper del widget, la sezione principale del codice \u00e8 tra i due.<\/p>\n<p>Per prima cosa ho impostato gli header della richiesta HTTP. La prima domanda potrebbe essere: come faccio a sapere quali parametri aggiungere? L&#8217;header <code>Authorization<\/code> \u00e8 la parte pi\u00f9 importante. L&#8217;ho letto nella sezione <a href=\"https:\/\/developer.github.com\/v3\/#authentication\">Authentication<\/a> della documentazione sull&#8217;API.<\/p>\n<p>L&#8217;header <code>Accept<\/code> non \u00e8 richiesto, ma in cima alla stessa pagina della documentazione la guida vi incoraggia a fornirlo.<\/p>\n<p>Poi uso <code>json_decode()<\/code> sul corpo della risposta e faccio un ciclo sull&#8217;array risultante, creando un elenco di link.<\/p>\n<h2>Passaggi Successivi<\/h2>\n<p>Se pensate che sia stato facile, avete assolutamente ragione, lo \u00e8! La parte difficile \u00e8 assicurarsi di avere tutto quello che serve senza sprecare risorse. Ci sono due problemi nel codice che richiederebbero la nostra immediata attenzione.<\/p>\n<p>Se c&#8217;\u00e8 qualche problema con l&#8217;API &#8211; ad esempio errori sconosciuti, account limitati da tariffe e cos\u00ec via &#8211; potremmo imbatterci in un grosso errore. Stiamo solo controllando se il body \u00e8 vuoto prima di mostrare la lista.<\/p>\n<p>Se ci imbattiamo in un errore, \u00e8 probabile che il body contenga informazioni sull&#8217;errore, quindi non sarebbe vuoto neanche in questo caso. \u00c8 probabile che elencheremmo gli elementi dell&#8217;errore di risposta, ma, dato che questi non avrebbero le propriet\u00e0 <code>url<\/code> e <code>name<\/code>, ci ritroveremmo con elementi di lista vuoti e avvisi PHP.<\/p>\n<p>Il secondo problema \u00e8 che questo \u00e8 solo uno spreco. Ci stiamo connettendo ad un servizio esterno ad ogni caricamento di pagina, il che potrebbe richiedere un pedaggio ai nostri server e potrebbe causare la limitazione dell&#8217;account su Github. Anche se non \u00e8 il nostro caso, quanto \u00e8 probabile che la vostra lista di repo Github cambi tra due visualizzazioni di pagina, e quanto \u00e8 importante avere informazioni aggiornate?<\/p>\n<p>Personalmente cin un caso come questo onsiglierei di utilizzare i <a href=\"https:\/\/codex.wordpress.org\/Transients_API\">transient<\/a>. Un transient vi permette di memorizzare la risposta della richiesta con un tempo di scadenza. Se impostate la scadenza a un giorno, i dati saranno recuperati da Github una volta, poi direttamente dal vostro database per le successive 24 ore. Dopo la scadenza viene recuperato di nuovo da Github e salvato nel database.<\/p>\n<p>Questo riduce le vostre chiamate API da una per ogni caricamento di pagina a una al giorno, che \u00e8 un enorme miglioramento e non \u00e8 nemmeno un grande compromesso.<\/p>\n<h2>Riepilogo<\/h2>\n<p>Con WordPress \u00e8 facile interagire con le API di tutto il web. L&#8217;utilizzo di un paio di funzioni integrate vi permetter\u00e0 di estrarre dati pi\u00f9 ricchi e rilevanti per i vostri utenti.<\/p>\n<p>Con la sanitizzazione, il controllo degli errori e un meccanismo di caching, si pu\u00f2 costruire un&#8217;applicazione efficiente che non solo \u00e8 pi\u00f9 utile, ma \u00e8 fa un consumo meno intenso di risorse di quanto si possa immaginare.<\/p>\n<p>Fateci sapere se avete utilizzato l&#8217;API HTTP di WordPress per connettere WordPress con un&#8217;API di terze parti, sarebbe bello conoscere il vostro lavoro!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article I&#8217;ll take a look at how you can handle HTTP requests easily with the help of the WordPress HTTP API. We&#8217;ll also be looking at a simple example using Github&#8217;s API, if you want to follow along, grab a free account!<\/p>\n","protected":false},"author":18,"featured_media":46963,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[21446,3],"topic":[25873],"class_list":["post-46957","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-api","tag-wordpress","topic-sviluppo-wordpress"],"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>Una Guida a HTTP e alla HTTP API di WordPress - Parte 2<\/title>\n<meta name=\"description\" content=\"L&#039;HTTP API di WordPress ci permette di connetterci ad API di terze parti come Twitter, Facebook, Mailchimp e altro. Scopri come fare!\" \/>\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\/it\/blog\/wordpress-http-api-parte-2\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Una Guida a HTTP e alla HTTP API di WordPress - Parte 2\" \/>\n<meta property=\"og:description\" content=\"L&#039;HTTP API di WordPress ci permette di connetterci ad API di terze parti come Twitter, Facebook, Mailchimp e altro. Scopri come fare!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-17T12:07:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-14T14:22:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg\" \/>\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\/jpeg\" \/>\n<meta name=\"author\" content=\"Daniel Pataki\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"L&#039;HTTP API di WordPress ci permette di connetterci ad API di terze parti come Twitter, Facebook, Mailchimp e altro. Scopri come fare!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@danielpataki\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Pataki\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/\"},\"author\":{\"name\":\"Daniel Pataki\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff\"},\"headline\":\"Una Guida a HTTP e alla HTTP API di WordPress &#8211; Parte 2\",\"datePublished\":\"2021-08-17T12:07:15+00:00\",\"dateModified\":\"2023-03-14T14:22:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/\"},\"wordCount\":1002,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg\",\"keywords\":[\"API\",\"WordPress\"],\"articleSection\":[\"Sviluppo WordPress\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/\",\"name\":\"Una Guida a HTTP e alla HTTP API di WordPress - Parte 2\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg\",\"datePublished\":\"2021-08-17T12:07:15+00:00\",\"dateModified\":\"2023-03-14T14:22:06+00:00\",\"description\":\"L'HTTP API di WordPress ci permette di connetterci ad API di terze parti come Twitter, Facebook, Mailchimp e altro. Scopri come fare!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg\",\"width\":800,\"height\":500,\"caption\":\"Una Guida a HTTP e alla HTTP API di WordPress\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sviluppo di WordPress\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/sviluppo-wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Una Guida a HTTP e alla HTTP API di WordPress &#8211; Parte 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"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\/it\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff\",\"name\":\"Daniel Pataki\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/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\/it\/blog\/author\/danielpataki\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Una Guida a HTTP e alla HTTP API di WordPress - Parte 2","description":"L'HTTP API di WordPress ci permette di connetterci ad API di terze parti come Twitter, Facebook, Mailchimp e altro. Scopri come fare!","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\/it\/blog\/wordpress-http-api-parte-2\/","og_locale":"it_IT","og_type":"article","og_title":"Una Guida a HTTP e alla HTTP API di WordPress - Parte 2","og_description":"L'HTTP API di WordPress ci permette di connetterci ad API di terze parti come Twitter, Facebook, Mailchimp e altro. Scopri come fare!","og_url":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2021-08-17T12:07:15+00:00","article_modified_time":"2023-03-14T14:22:06+00:00","og_image":[{"width":800,"height":500,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg","type":"image\/jpeg"}],"author":"Daniel Pataki","twitter_card":"summary_large_image","twitter_description":"L'HTTP API di WordPress ci permette di connetterci ad API di terze parti come Twitter, Facebook, Mailchimp e altro. Scopri come fare!","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg","twitter_creator":"@danielpataki","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Daniel Pataki","Tempo di lettura stimato":"6 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/"},"author":{"name":"Daniel Pataki","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff"},"headline":"Una Guida a HTTP e alla HTTP API di WordPress &#8211; Parte 2","datePublished":"2021-08-17T12:07:15+00:00","dateModified":"2023-03-14T14:22:06+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/"},"wordCount":1002,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg","keywords":["API","WordPress"],"articleSection":["Sviluppo WordPress"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/","url":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/","name":"Una Guida a HTTP e alla HTTP API di WordPress - Parte 2","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg","datePublished":"2021-08-17T12:07:15+00:00","dateModified":"2023-03-14T14:22:06+00:00","description":"L'HTTP API di WordPress ci permette di connetterci ad API di terze parti come Twitter, Facebook, Mailchimp e altro. Scopri come fare!","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/wordpress-http-api-it.jpeg","width":800,"height":500,"caption":"Una Guida a HTTP e alla HTTP API di WordPress"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/wordpress-http-api-parte-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Sviluppo di WordPress","item":"https:\/\/kinsta.com\/it\/argomenti\/sviluppo-wordpress\/"},{"@type":"ListItem","position":3,"name":"Una Guida a HTTP e alla HTTP API di WordPress &#8211; Parte 2"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","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\/it\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff","name":"Daniel Pataki","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/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\/it\/blog\/author\/danielpataki\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/46957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=46957"}],"version-history":[{"count":10,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/46957\/revisions"}],"predecessor-version":[{"id":64748,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/46957\/revisions\/64748"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46957\/translations\/en"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46957\/translations\/de"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46957\/translations\/it"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46957\/translations\/es"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46957\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46957\/translations\/fr"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46957\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/46963"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=46957"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=46957"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=46957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}