{"id":75851,"date":"2024-01-10T19:04:11","date_gmt":"2024-01-10T18:04:11","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=75851&#038;preview=true&#038;preview_id=75851"},"modified":"2024-08-27T21:50:56","modified_gmt":"2024-08-27T20:50:56","slug":"node-js-wordpress","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/","title":{"rendered":"Node.js e WordPress: com creare API dinamiche per applicazioni personalizzate"},"content":{"rendered":"<p>In qualit\u00e0 di sviluppatori web, probabilmente conoscete Node.js e WordPress. Node.js \u00e8 un potente ambiente di runtime che esegue JavaScript al di fuori del browser e WordPress \u00e8 il principale <a href=\"https:\/\/kinsta.com\/it\/blog\/content-management-system\/\">sistema di gestione dei contenuti (CMS)<\/a>.<\/p>\n<p>Queste piattaforme potrebbero sembrare distanti tra loro: <a href=\"https:\/\/kinsta.com\/it\/argomenti\/node-js\/\">Node.js<\/a>, con la sua struttura portante in JavaScript, e WordPress, un CMS alimentato da <a href=\"https:\/\/kinsta.com\/it\/argomenti\/aggiornamenti-php\/\">PHP<\/a>. Tuttavia, possono lavorare in tandem grazie alla <a href=\"https:\/\/kinsta.com\/it\/blog\/rest-api-wordpress\/\">REST API di WordPress<\/a>. Questa API consente alle applicazioni Node.js di interagire con WordPress tramite <a href=\"https:\/\/kinsta.com\/it\/blog\/cos-e-una-richiesta-http\/\">richieste HTTP<\/a>. Fornisce l&#8217;accesso a vari dati, tra cui utenti, commenti, pagine, post e altri elementi del sito.<\/p>\n<p>Ma qual \u00e8 il vantaggio di combinare Node.js e WordPress?<\/p>\n<p>Immaginate di avere un sito WordPress e di voler creare una dashboard personalizzata. Questa dashboard potrebbe visualizzare i dati del sito in tempo reale, come i post recenti, il numero di commenti e l&#8217;attivit\u00e0 degli utenti.<\/p>\n<p>\u00c8 qui che Node.js gioca un ruolo fondamentale. Questa guida vi spiega come configurare gli endpoint Node.js. Questi endpoint sfruttano l&#8217;API REST di WordPress per varie attivit\u00e0: aggiornamento dei post, moderazione dei commenti, personalizzazione del sito e amministrazione personalizzata del sito WordPress.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Prerequisiti<\/h2>\n<p>Per seguire questa guida, \u00e8 necessario avere:<\/p>\n<ul>\n<li>Conoscenza di base di Node.js.<\/li>\n<li><a href=\"https:\/\/kinsta.com\/it\/blog\/come-installare-node-js\/\">Node.js e npm<\/a> installati sul computer.<\/li>\n<li>WordPress e l&#8217;<a href=\"https:\/\/www.thunderclient.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">estensione Thunder Client VS Code<\/a> installati.<\/li>\n<\/ul>\n<h2>Gestire i post di WordPress con Node.js<\/h2>\n<p>In WordPress, le attivit\u00e0 fondamentali sono la creazione, l&#8217;aggiornamento e la cancellazione dei post. Questa sezione spiega come creare endpoint specifici per queste azioni e come effettuare richieste all&#8217;endpoint <code>\/posts<\/code> per ogni operazione.<\/p>\n<h3>Creare un nuovo post in WordPress<\/h3>\n<p>Per creare un nuovo post in WordPress con l&#8217;API REST, effettuate una richiesta POST all&#8217;endpoint <code>\/posts<\/code>. Nel corpo della richiesta, dovrete fornire il contenuto del post di WordPress in formato JSON.<\/p>\n<p>Per prima cosa, aprite il file del <a href=\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/\">server Node.js<\/a>, solitamente chiamato <strong>App.js<\/strong>. Assicuratevi che <a href=\"https:\/\/kinsta.com\/it\/blog\/cos-e-express-js\/\">Express<\/a> sia impostato correttamente nel file del server. In genere questo avviene con la riga <code>const app = express()<\/code>, che inizializza Express.<\/p>\n<p>Successivamente, implementate una route nel file server per aggiungere un nuovo post. Il codice di questa route sar\u00e0 qualcosa di simile:<\/p>\n<pre><code class=\"language-js\">app.post(\"\/add-post\", async (req, res) =&gt; {\n   try {\n    const postID = req.body.id\n    const resp = await axios.post(`https:\/\/yourdomain.com\/wp-json\/wp\/v2\/posts\/${postID}`, req.body)\n\t\n    if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n  }\n})<\/code><\/pre>\n<p>Questo codice crea un endpoint <code>\/add-post<\/code> nell&#8217;applicazione. Quando una richiesta viene inviata a questo endpoint, estrae l&#8217;ID del post dal corpo della richiesta e invia una richiesta POST al sito WordPress. Ricordate di sostituire <code>https:\/\/yourdomain.com<\/code> con il vostro dominio WordPress.<\/p>\n<p>Potete testare questo metodo utilizzando strumenti come Thunder Client in Visual Studio Code. Assicuratevi che il corpo JSON della richiesta sia valido per evitare errori.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/add-post.png\" alt=\"Corpo JSON di una richiesta POST all'endpoint \/add-post\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Corpo JSON di una richiesta POST all&#8217;endpoint \/add-post.<\/figcaption><\/figure>\n<p>Questo approccio consente di pubblicare in modo efficiente e automatico i post sul sito WordPress dall&#8217;applicazione.<\/p>\n<h3>Aggiornare un post esistente in WordPress<\/h3>\n<p>Per aggiornare un post con l&#8217;API di WordPress, fate una richiesta PUT all&#8217;endpoint <code>\/posts<\/code> dell&#8217;API di WordPress. Dovete anche fornire il contenuto aggiornato del post di WordPress in formato JSON.<\/p>\n<p>Il percorso per aggiornare un post esistente in WordPress \u00e8 il seguente:<\/p>\n<pre><code class=\"language-js\">app.put(\"\/update-post\", async (req, res) =&gt; {\n  try {\n    const postID = req.body.id                    \n      \n    const resp = await axios.put(`https:\/\/yourdomain.com\/wp-json\/wp\/v2\/posts\/${postID}`, req.body)\n\t\n    if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n  }\n})<\/code><\/pre>\n<p>Ad esempio, potete aggiornare un post con un ID di <code>3<\/code> in WordPress con la seguente richiesta in Thunder Client:<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/update-post.png\" alt=\"JSON body of a PUT request to \/update-post endpoint\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Corpo JSON di una richiesta PUT all&#8217;endpoint \/update-post.<\/figcaption><\/figure>\n<h3>Eliminare un post in WordPress<\/h3>\n<p>Per eliminare un post in WordPress, effettuate una richiesta DELETE all&#8217;endpoint <code>\/posts<\/code> utilizzando l&#8217;ID univoco del post che volete eliminare.<\/p>\n<pre><code class=\"language-js\">app.delete(\"\/delete-post\", async (req, res) =&gt; {\n  try {\n    const postID = req.body.id                \n        \n    const resp = await axios.delete(`https:\/\/yourdomain.com\/wp-json\/wp\/v2\/posts\/${postID}`)\n\t\n    if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n    }\n})<\/code><\/pre>\n<p>Il risultato dovrebbe essere simile a questo:<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/delete-post.png\" alt=\"Corpo JSON di una richiesta DELETE all'endpoint \/delete-post\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Corpo JSON di una richiesta DELETE all&#8217;endpoint \/delete-post.<\/figcaption><\/figure>\n<h2>Moderare i commenti di WordPress con Node.js<\/h2>\n<p>L&#8217;<a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/comments\/\" target=\"_blank\" rel=\"noopener noreferrer\">API dei commenti<\/a> permette di accedere e manipolare i commenti sul sito WordPress da un&#8217;applicazione. All&#8217;interno di questa API c&#8217;\u00e8 un endpoint per creare, elencare, leggere, aggiornare e cancellare i commenti su un sito WordPress.<\/p>\n<p>Supponiamo che non vogliate che il sito WordPress pubblichi commenti con la frase &#8220;Follow me&#8221;. In questo esempio, potete utilizzare un&#8217;espressione di <code>regex<\/code> per verificare la presenza di questa frase in ogni commento prima di pubblicarlo.<\/p>\n<p>Per farlo, utilizzate il seguente codice:<\/p>\n<pre><code class=\"language-js\">app.post(\"\/add-comment\", async (req, res) =&gt; {\n  try {\n    let regex = \/follow me\/i;    \n    let comment = req.body.comment                \n      \n    if(regex.test(comment)) throw \"Oops! Contains the forbidden word\"  \t\t\n\n    const resp = await axios.post(`https:\/\/yourdomain\/wp-json\/wp\/v2\/comments`, req.body)\n\t\n  if(resp.status !== 200) throw \"Something went wrong\"  \t\t\n\t\n  } catch (err) {      \n  \n  console.log(err)\n        \n    }\n})<\/code><\/pre>\n<p>Con questo percorso, solo i commenti che non includono la frase &#8220;Follow me&#8221; vengono pubblicati sul sito web, mentre i commenti come quello qui sotto non vengono pubblicati:<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/add-comment.png\" alt=\"JSON body of a POST request to \/add-comment endpoint\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Corpo JSON di una richiesta POST all&#8217;endpoint \/add-comment che esclude i commenti che contengono &#8220;Follow me&#8221;.<\/figcaption><\/figure>\n<h2>Personalizzazione dei siti per gli utenti<\/h2>\n<p>Memorizzando le preferenze degli utenti e determinando il loro paese, potete personalizzare le pagine di WordPress per ogni utente.<\/p>\n<p>In Node.js, potete memorizzare i dati dell&#8217;utente nei cookie del percorso di login o di iscrizione dell&#8217;applicazione backend e inserire il cookie nel suo browser web, in questo modo:<\/p>\n<pre><code class=\"language-js\">app.post(\"\/sign-up\", async (req, res) =&gt; {\n  \/\/ Sign up user\n    res.cookie(\"cookie_id\", 123456)\n    res.cookie(\"lang\", req.body.language)\n\t\n    res.status(200).json(\"Logged in.\")\n})<\/code><\/pre>\n<p>Al momento dell&#8217;iscrizione, ottienete la lingua preferita dall&#8217;utente e la inviate al browser sotto forma di cookie insieme al sito <code>cookie_id<\/code>.<\/p>\n<p>Ora, con la lingua memorizzata nel browser, potete usarla per recuperare i post di WordPress nella lingua dell&#8217;utente. Per fare ci\u00f2, dovrete prima tradurre i post in WordPress. Un modo semplice per farlo \u00e8 <a href=\"https:\/\/wpml.org\/documentation\/related-projects\/using-wordpress-seo-with-wpml\/\" target=\"_blank\" rel=\"noopener noreferrer\">integrare WPML e Yoast SEO<\/a> nel vostro sito WordPress.<\/p>\n<p>Una volta integrati, vengono create diverse sottocartelle per le altre lingue:<\/p>\n<ul>\n<li><strong>mydomain.com\/en\/<\/strong><\/li>\n<li><strong>mydomain.com\/es\/<\/strong><\/li>\n<li><strong>mydomain.com\/fr\/<\/strong><\/li>\n<\/ul>\n<p>Quando si recuperano i post di WordPress, \u00e8 possibile ottenere l&#8217;elenco dei post nella lingua preferita dall&#8217;utente, poich\u00e9 \u00e8 memorizzata nei cookie.<\/p>\n<pre><code class=\"language-js\">app.get(\"\/get-posts\", async (req, res) =&gt; {\n  try { \n    const lang = req.cookies.lang\n       \n    const resp = await axios.get(`https:\/\/mydomain.com\/${lang}\/wp-json\/wp\/v1\/posts`)\n\t\n  if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n    }\n})<\/code><\/pre>\n<p>In questo modo otterrete l&#8217;elenco dei post in base alla lingua specificata dall&#8217;utente durante la registrazione.<\/p>\n<h2>Usare l&#8217;amministrazione personalizzata<\/h2>\n<p>Estendendo l&#8217;endpoint dell&#8217;utente, potete creare un pannello di amministrazione personalizzato per controllare gli utenti, i ruoli e i permessi di WordPress. L&#8217;<a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/users\/\" target=\"_blank\" rel=\"noopener noreferrer\">API Utenti<\/a> permette di accedere e manipolare le informazioni sugli utenti del sito WordPress da un&#8217;applicazione che funziona come l&#8217;API Commenti.<\/p>\n<p>Ad esempio, se volete aggiornare il ruolo di un utente a &#8220;Amministratore&#8221;, ecco il percorso che potete utilizzare:<\/p>\n<pre><code class=\"language-js\">app.put(\"\/update-user\", async (req, res) =&gt; {\n  try {\n    const userID = req.body.id                \n\t\n    const resp = await axios.put(`https:\/\/yourdomain\/wp-json\/wp\/v2\/users\/${userID}`, req.body)\n\t\n    if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n   }\n})<\/code><\/pre>\n<p>Nella richiesta, passate un oggetto contenente l&#8217;ID dell&#8217;utente di cui volete aggiornare il record e i nuovi dettagli.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/update-user.png\" alt=\"Corpo JSON di una richiesta PUT all'endpoint \/update-user\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Corpo JSON di una richiesta PUT all&#8217;endpoint \/update-user.<\/figcaption><\/figure>\n<p>Una volta finito di sviluppare il server Node.js. potete sempre ospitarlo con facilit\u00e0 sull&#8217;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hosting di Applicazioni di Kinsta<\/a>.<\/p>\n<h2>Riepilogo<\/h2>\n<p>L&#8217;integrazione di Node.js con un sito WordPress apre le porte a una maggiore funzionalit\u00e0. Potete aggiornare i post, moderare i commenti, impostare i ruoli degli utenti e aggiungere personalizzazioni in base al paese dell&#8217;utente.<\/p>\n<p>Oltre alle funzioni gi\u00e0 descritte, potete aggiungere la ricerca avanzata, la manipolazione dei temi e la revisione dei post. Non esitate a consultare il <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/\" target=\"_blank\" rel=\"noopener noreferrer\">Manuale<\/a> delle API REST e iniziare a fare le vostre prove.<\/p>\n<p><em>Cosa ne pensate dell&#8217;API REST di WordPress? L&#8217;avete utilizzata per alcuni dei vostri progetti? Raccontatecelo nella sezione commenti qui sotto!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In qualit\u00e0 di sviluppatori web, probabilmente conoscete Node.js e WordPress. Node.js \u00e8 un potente ambiente di runtime che esegue JavaScript al di fuori del browser e &#8230;<\/p>\n","protected":false},"author":199,"featured_media":75852,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26179,26203],"class_list":["post-75851","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-cms-headless","topic-node-js"],"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>Usare Node.js con WordPress per costruire API dinamiche - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"L&#039;integrazione di Node.js con WordPress nella nostra guida completa sulla creazione di API dinamiche per applicazioni personalizzate.\" \/>\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\/node-js-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Node.js e WordPress: com creare API dinamiche per applicazioni personalizzate\" \/>\n<meta property=\"og:description\" content=\"L&#039;integrazione di Node.js con WordPress nella nostra guida completa sulla creazione di API dinamiche per applicazioni personalizzate.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/\" \/>\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=\"2024-01-10T18:04:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-27T20:50:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"L&#039;integrazione di Node.js con WordPress nella nostra guida completa sulla creazione di API dinamiche per applicazioni personalizzate.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Node.js e WordPress: com creare API dinamiche per applicazioni personalizzate\",\"datePublished\":\"2024-01-10T18:04:11+00:00\",\"dateModified\":\"2024-08-27T20:50:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/\"},\"wordCount\":1143,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/\",\"name\":\"Usare Node.js con WordPress per costruire API dinamiche - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\",\"datePublished\":\"2024-01-10T18:04:11+00:00\",\"dateModified\":\"2024-08-27T20:50:56+00:00\",\"description\":\"L'integrazione di Node.js con WordPress nella nostra guida completa sulla creazione di API dinamiche per applicazioni personalizzate.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Node.js e WordPress: com creare API dinamiche per applicazioni personalizzate\"}]},{\"@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\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Usare Node.js con WordPress per costruire API dinamiche - Kinsta\u00ae","description":"L'integrazione di Node.js con WordPress nella nostra guida completa sulla creazione di API dinamiche per applicazioni personalizzate.","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\/node-js-wordpress\/","og_locale":"it_IT","og_type":"article","og_title":"Node.js e WordPress: com creare API dinamiche per applicazioni personalizzate","og_description":"L'integrazione di Node.js con WordPress nella nostra guida completa sulla creazione di API dinamiche per applicazioni personalizzate.","og_url":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2024-01-10T18:04:11+00:00","article_modified_time":"2024-08-27T20:50:56+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"L'integrazione di Node.js con WordPress nella nostra guida completa sulla creazione di API dinamiche per applicazioni personalizzate.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Jeremy Holcombe","Tempo di lettura stimato":"8 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Node.js e WordPress: com creare API dinamiche per applicazioni personalizzate","datePublished":"2024-01-10T18:04:11+00:00","dateModified":"2024-08-27T20:50:56+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/"},"wordCount":1143,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/","url":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/","name":"Usare Node.js con WordPress per costruire API dinamiche - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","datePublished":"2024-01-10T18:04:11+00:00","dateModified":"2024-08-27T20:50:56+00:00","description":"L'integrazione di Node.js con WordPress nella nostra guida completa sulla creazione di API dinamiche per applicazioni personalizzate.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/node-js-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Node.js","item":"https:\/\/kinsta.com\/it\/argomenti\/node-js\/"},{"@type":"ListItem","position":3,"name":"Node.js e WordPress: com creare API dinamiche per applicazioni personalizzate"}]},{"@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\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/it\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75851","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\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=75851"}],"version-history":[{"count":8,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75851\/revisions"}],"predecessor-version":[{"id":78747,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75851\/revisions\/78747"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75851\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75851\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75851\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75851\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75851\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75851\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75851\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75851\/translations\/es"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75851\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/75852"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=75851"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=75851"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=75851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}