{"id":226045,"date":"2022-08-22T11:00:00","date_gmt":"2022-08-22T08:00:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=226045"},"modified":"2022-11-08T01:34:55","modified_gmt":"2022-11-07T22:34:55","slug":"creazione-di-un-sistema-crud-in-wordpress-plugin-tabelle-wpdatatables","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/creazione-di-un-sistema-crud-in-wordpress-plugin-tabelle-wpdatatables\/","title":{"rendered":"Creazione di un sistema CRUD in WordPress &#8211; Plugin tabelle wpDataTables"},"content":{"rendered":"\n<p>Questo articolo sulla creazione di un sistema CRUD in WordPress \u00e8 stato pubblicato nel 2014. Tuttavia, abbiamo notato che questo argomento \u00e8 diventato ancora pi\u00f9 attuale, quindi abbiamo deciso di dargli un nuovo aspetto.<\/p>\n<p>Che cos&#8217;\u00e8 un sistema CRUD, come integrare un sistema CRUD per MySQL nel tuo sito WordPress, quali sono i pro ei contro dell&#8217;utilizzo di approcci diversi?<\/p>\n<h2>Cos&#8217;\u00e8 un sistema CRUD?<\/h2>\n<p>L&#8217;abbreviazione <strong>CRUD<\/strong> deriva da <strong>C<\/strong> reate, Read, <strong>Update<\/strong>, <strong>D<\/strong> <strong>elete<\/strong>. Che, in altre parole, significa un sistema di gestione dei dati. Sul web, molto probabilmente significherebbe un software che gestisce le voci nel tuo database. Di solito, si riferisce a MySQL, PostgreSQL, MS SQL o altri motori DB.<\/p>\n<p>Un ottimo e, forse, l&#8217;esempio pi\u00f9 popolare di un sistema CRUD \u00e8 <a href=\"https:\/\/www.phpmyadmin.net\/home_page\/index.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">phpMyAdmin<\/a>. PHPMyAdmin \u00e8 uno strumento utilizzato da quasi tutti gli sviluppatori web per gestire i dati MySQL online. \u00c8 diventato cos\u00ec ampiamente diffuso che attualmente pu\u00f2 essere definito uno strumento standard per la gestione dei database MySQL. Al giorno d&#8217;oggi \u00e8 preinstallato su quasi tutti gli strumenti CPanel dei provider di hosting.<\/p>\n<p>Esistono migliaia di casi d&#8217;uso standard per i sistemi CRUD. Ad esempio, quasi tutti i cataloghi, i registri delle voci, le informazioni statistiche. Fondamentalmente, qualsiasi cosa relativa alla memorizzazione delle informazioni richiederebbe l&#8217;aggiunta, la modifica e la rimozione di bit di informazioni. \u00c8 qui che entrano in gioco i sistemi CRUD.<\/p>\n<h2>Perch\u00e9 dovresti aver bisogno di un sistema CRUD in WordPress?<\/h2>\n<p>Lo stesso WordPress \u00e8 un potente CMS (Content Management System), che \u00e8 anche un caso speciale del sistema CRUD. Come sai, gli utenti del sito WordPress possono aggiungere post e pagine, modificarli o eliminarli. Ma a volte si verifica una situazione in cui \u00e8 necessario gestire alcuni dati del database direttamente dal front-end di WordPress che generalmente non \u00e8 pubblicato o correlato alla pagina e non si adatta bene alle tassonomie di WordPress. Tra le altre pu\u00f2 essere una di queste situazioni in cui avresti bisogno di un sistema CRUD indipendente in WordPress:<\/p>\n<ul>\n<li>Vorresti avere un bug tracker, un registro delle voci o qualche altro strumento di immissione dei dati sul tuo sito WordPress;<\/li>\n<li>O, ad esempio, vuoi consentire ad alcuni utenti di modificare alcuni dati aziendali dal front-end del tuo sito senza fornire loro l&#8217;accesso al pannello di amministrazione del sito WordPress, o forse anche senza rivelare il fatto che il sito funziona su WordPress;<\/li>\n<li>Un altro esempio \u00e8 un requisito per consentire ad alcuni utenti di modificare una tabella DB. Ad esempio, modificare un ordine effettuato, modificare alcuni dati personali, ecc.<\/li>\n<\/ul>\n<p>E richieste simili.<\/p>\n<h2>Come integrare un sistema CRUD in un sito WordPress?<\/h2>\n<h3>La soluzione pi\u00f9 semplice: prova a trovare un plug-in adatto<\/h3>\n<p><strong>Primo: assicurati di averne davvero bisogno.<\/strong> Molte delle attivit\u00e0 non sono uniche e probabilmente puoi trovare un plug-in adatto alle tue esigenze. Ad esempio, se hai bisogno di un bug tracker, come menzionato sopra, puoi controllare e scaricare <a href=\"https:\/\/wordpress.org\/plugins\/really-simple-issue-tracker\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questo<\/a> o <a href=\"https:\/\/wordpress.org\/plugins\/bugerator\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questo<\/a>.<\/p>\n<p>E se hai bisogno di qualcosa di pi\u00f9 generico, come modificare diverse tabelle MySQL dal front-end di WordPress, prova il nostro plugin <a href=\"https:\/\/wpdatatables.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wpDataTables<\/a> che \u00e8 fondamentalmente un sistema CRUD in WordPress. Puoi vedere l&#8217;elenco delle funzioni e degli esempi di come funziona <a href=\"https:\/\/wpdatatables.com\/documentation\/general\/features-overview\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">qui<\/a>. O anche provare una versione Lite gratuita nel <a href=\"https:\/\/wordpress.org\/plugins\/wpdatatables\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">repository dei plugin di WordPress<\/a>.<\/p>\n<p>Vale la pena notare che wpDataTables non impone alcuna limitazione alla struttura dei dati, alla quantit\u00e0 di colonne o righe, supporta molti <a href=\"https:\/\/wpdatatables.com\/documentation\/column-features\/currency-percentage-and-other-columns\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tipi di dati<\/a> e <a href=\"https:\/\/wpdatatables.com\/documentation\/front-end-editing\/editor-input-types\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">diversi tipi di input dell&#8217;editor<\/a>. Ad esempio alcuni tipi specifici come allegati o <a href=\"https:\/\/wpdatatables.com\/documentation\/column-features\/datetime-columns\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">DateTime<\/a>. Inoltre, consente di modificare i dati tramite un editor di <a href=\"https:\/\/wpdatatables.com\/documentation\/front-end-editing\/creating-editable-tables\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">moduli popup<\/a>, con un <a href=\"https:\/\/wpdatatables.com\/documentation\/front-end-editing\/inline-editing\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">editor inline<\/a> o anche con un editor di <a href=\"https:\/\/wpdatatables.com\/documentation\/front-end-editing\/excel-like-editor\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">fogli di calcolo simile a Excel<\/a>.<\/p>\n<p>Se ritieni ancora di dover creare un sistema CRUD personalizzato in WordPress, dovresti prepararti per un po&#8217; di programmazione seria per farlo.<\/p>\n<h3>Avvia un nuovo plugin per WordPress<\/h3>\n<p>Se pensi che nessun plugin soddisfi le tue esigenze, creane uno tuo! Potrebbe non essere cos\u00ec spaventoso come sembra a prima vista. Inizia leggendo <a href=\"http:\/\/code.tutsplus.com\/tutorials\/create-a-custom-wordpress-plugin-from-scratch--net-2668\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questo bel tutorial<\/a> sulla creazione di un plugin per WordPress da zero. E ovviamente anche <a href=\"https:\/\/codex.wordpress.org\/Writing_a_Plugin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questo<\/a> nel codice di WordPress.<\/p>\n<p>Il primo passo iniziale quando crei un plug-in, incluso un sistema CRUD in un plug-in di WordPress, \u00e8 strutturare i file correttamente.<br \/>\nL&#8217;approccio abituale consiste nel posizionare il file del punto CRUD della voce principale nella directory principale del plug-in e preparare diverse sottocartelle:<\/p>\n<ul>\n<li><strong>Risorse<\/strong>: tutti i javascript, i fogli di stile, i caratteri, le immagini e altre risorse statiche che saranno necessarie per il tuo sistema CRUD;<\/li>\n<li><strong>Source<\/strong> \u2013 cartella per le classi PHP &#8220;core&quot; che eseguiranno tutte le funzionalit\u00e0 CRUD nel back-end;<\/li>\n<li><strong>Lib<\/strong> \u2013 cartella per qualsiasi componente di terze parti che potresti voler utilizzare nel tuo sistema CRUD;<\/li>\n<li><strong>Modelli<\/strong> \u2013 cartella per i modelli HTML che saranno l&#8217;interfaccia utente per il tuo sistema CRUD.<\/li>\n<\/ul>\n<p>Possono essercene di pi\u00f9 (controller, gestori di shortcode e altri), ma \u00e8 un minimo per cominciare.<\/p>\n<h3>Crea editor back-end (classi PHP)<\/h3>\n<p>Prima di tutto, avresti bisogno della parte di back-end: uno script PHP che farebbe effettivamente i lavori CRUD. Per questo, dovresti connetterlo con WordPress DB (oggetto globale $ wpdb). Puoi leggere un bel tutorial <a href=\"http:\/\/wp.smashingmagazine.com\/2011\/09\/21\/interacting-with-the-wordpress-database\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">qui<\/a> sull&#8217;utilizzo del database di WordPress e dell&#8217;oggetto $wpdb nei tuoi plugin.<\/p>\n<p>Se utilizzi un DB esterno, dovrai ad esempio utilizzare una <a href=\"https:\/\/php.net\/pdo\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">connessione PDO<\/a> separata o semplicemente funzioni PHP <a href=\"http:\/\/www.php.net\/manual\/en\/book.mysqli.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MySQLi<\/a> integrate (se il tuo motore DB \u00e8 MySQL).<\/p>\n<p>Il tuo compito in questo passaggio \u00e8 preparare un insieme di classi e metodi che accetteranno i dati dal front-end in una forma prevista, li convalideranno e <a href=\"https:\/\/codex.wordpress.org\/Validating_Sanitizing_and_Escaping_User_Data\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">li sanificheranno<\/a> (la sanificazione di tutti gli input \u00e8 una misura di sicurezza molto importante per tutti i sistemi CRUD) ed eseguiranno le azioni <strong>INSERT<\/strong>, <strong>UPDATE<\/strong> e <strong>DELETE<\/strong> sul tuo database.<\/p>\n<p>Come descritto nel passaggio precedente, questi file &quot;core&quot; apparterrebbero alla cartella &quot;source&quot; del tuo nuovo plugin CRUD WordPress.<\/p>\n<h3>Crea un&#8217;interfaccia front-end (HTML, JS, PHP)<\/h3>\n<p>Quando le classi e i metodi di gestione del database sono preparati, il tuo plug-in avrebbe bisogno di un&#8217;interfaccia front-end per l&#8217;utente con il tuo nuovo sistema CRUD in WordPress. La soluzione migliore sarebbe quella di preparare una serie di modelli nei nuovi file di plug-in e riprodurli dove necessario con uno shortcode.<\/p>\n<p>Ha senso mantenere sempre separati i modelli HTML dal codice (approccio MVC) e preparare file di modello separati logicamente, ad esempio: &#8220;edit.tpl.php&#8221;, &#8220;delete.tpl.php&#8221;, &#8220;list.tpl.php &#8220;, ecc. \u2013 un modello per ogni pagina o azione CRUD.<\/p>\n<p><a href=\"https:\/\/codex.wordpress.org\/Shortcode_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Qui<\/a> puoi leggere un ottimo articolo del codice sull&#8217;API Shortcode di WordPress.<\/p>\n<h3>Connetti front-end e back-end con le chiamate AJAX (JS)<\/h3>\n<p>Naturalmente, puoi farlo &quot;stile vecchia scuola&quot;, con semplici invii di moduli e ricaricamento della pagina. Tuttavia, al giorno d&#8217;oggi non \u00e8 pi\u00f9 un approccio comune. L&#8217;uso di AJAX \u00e8 invece un approccio standard, tramite jQuery o altre librerie come Angular. Quindi la nostra raccomandazione \u00e8 di dedicare del tempo e esaminare l&#8217;utilizzo di AJAX nei plug-in di WordPress, <a href=\"https:\/\/codex.wordpress.org\/AJAX_in_Plugins\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ecco<\/a> un ottimo articolo del Codex su come utilizzare AJAX nei plug-in, sia lato amministratore che front-end.<\/p>\n<p>Puoi inserire il codice JS nella cartella &quot;assets&quot; che hai preparato nel primo passaggio.<\/p>\n<h3>Testare, perfezionare ed eseguire il debug<\/h3>\n<p>Al termine della parte di implementazione, prenditi del tempo e testa il tuo nuovo sistema CRUD in WordPress. Non puoi individuare tutti i bug dall&#8217;inizio, ma ripetere pi\u00f9 volte le azioni di routine CRUD con esempi diversi (casi &quot;edge&quot; preferibili, ad esempio quantit\u00e0 molto grandi di dati, fare clic pi\u00f9 volte sullo stesso pulsante, ecc.) ti aiuter\u00e0 sempre per intercettare la maggior parte dei bug \u2013 e questi si verificano sempre quando si implementa qualcosa di nuovo.<\/p>\n<h2>CRUD vs REST: qual \u00e8 la differenza<\/h2>\n<p>REST \u00e8 uno stile architettonico per la creazione di applicazioni in rete basate su un protocollo di comunicazione client-server, stateless e memorizzabile nella cache, ovvero il protocollo HTTP. CRUD \u00e8 l&#8217;acronimo di CREATE, READ, UPDATE e DELETE, le funzioni di base della memorizzazione persistente nella programmazione.<\/p>\n<p>Le operazioni CRUD, cio\u00e8 CREATE, READ, UPDATE, DELETE, sono simili ai comandi di base REST, cio\u00e8 GET, PUT, POST, DELETE, il che crea confusione tra i due. Cos&#8217;\u00e8 CRUD? Cos&#8217;\u00e8 il RIPOSO? In CRUD vs REST, qual \u00e8 la definizione CRUD? REST \u00e8 una semplice copia carbone di CRUD?<\/p>\n<p>Queste sono tutte domande molto pertinenti a cui questo articolo intende rispondere in dettaglio!<\/p>\n<h3><strong>Come funziona il REST?<\/strong><\/h3>\n<p>Non \u00e8 possibile comprendere termini come API REST, servizi REST, matrice CRUD o database CRUD o programmazione REST se non si comprende la differenza tra i due processi per quanto riguarda il modo in cui funzionano. La confusione scomparir\u00e0 una volta che conosci questa differenza.<\/p>\n<p>Puoi lavorare REST su qualsiasi risorsa, che si tratti di un file multimediale, documento, sito Web, ecc. Non ci sono restrizioni su ci\u00f2 su cui puoi lavorare REST; puoi usare HTML solo come protocollo di comunicazione per evidenziare le risorse. REST \u00e8 l&#8217;acronimo di Representational State Transfer.<\/p>\n<p>REST indica che ogni URL distintivo rappresenta un oggetto, a cui \u00e8 possibile accedere tramite HTTP GET, nonch\u00e9 modificarlo ed eliminarlo tramite HTTP POST, PUT o DELETE.<\/p>\n<h3><strong>Come funziona CRUD?<\/strong><\/h3>\n<p>Puoi applicare CRUD solo ai record del database e non puoi creare API CRUD come crei API REST. L&#8217;applicazione CRUD \u00e8 limitata ai database, motivo per cui CRUD, a differenza di REST, non \u00e8 uno stile di architettura, ma un ciclo. Le app e i siti Web contengono tutti cicli CRUD diversi.<\/p>\n<p>Ad esempio, un visitatore di un sito di e-commerce pu\u00f2 CREARE un account, AGGIORNARE l&#8217;account, LEGGERE le informazioni ed ELIMINARE l&#8217;account. Questo \u00e8 un ciclo CRUD completo che include ogni operazione CRUD.<\/p>\n<p>Ad esempio, sullo stesso sito di e-commerce, un visitatore pu\u00f2 CREARE un articolo nell&#8217;e-cart, quindi completare l&#8217;intero ciclo CRUD LETTURA, AGGIORNAMENTO e persino CANCELLAZIONE dell&#8217;articolo.<\/p>\n<h3><strong>Il fondamento ei principi del REST<\/strong><\/h3>\n<p>I comandi di base di Representational State Transfer &#8211; l&#8217;acronimo REST &#8211; ruotano attorno a un oggetto o una risorsa, che pu\u00f2 essere descritto come qualsiasi cosa che puoi rivelare usando il protocollo HTTP. Esempi di risorse REST: immagine, sito Web, documento, servizio. Il cielo \u00e8 il limite.<\/p>\n<p>REST \u00e8 un&#8217;interfaccia di programmazione delle applicazioni, o API, o un&#8217;architettura destinata alla multimedialit\u00e0 distribuita. Un&#8217;API \u00e8 un servizio Web che segue i principi dell&#8217;architettura REST. Pertanto, REST chiama ciascuna API tramite uno dei metodi di richiesta HTTP, GET, PUT, POST e DELETE.<\/p>\n<h3><strong>I sei principi guida dell&#8217;architettura RESTful<\/strong><\/h3>\n<ol>\n<li>\n<h3><strong>Mandato client-server<\/strong><\/h3>\n<\/li>\n<\/ol>\n<p>Il mandato client-server sottolinea il fatto che REST rappresenta un metodo distribuito che si basa sulla natura della separazione client-server. Un servizio REST comporta diverse funzionalit\u00e0 e si occupa delle richieste. Il client effettua le richieste e il server le accetta o le rifiuta.<\/p>\n<ol start=\"2\">\n<li>\n<h3><strong>Apolidia<\/strong><\/h3>\n<\/li>\n<\/ol>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-205612-61e8cbbce0972.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-205612-61e8cbbce0972.jpg\" alt=\"Creazione di un sistema CRUD in WordPress - Plugin tabelle wpDataTables\" ><\/a><\/p>\n<p>L&#8217;apolidia limita il tipo di richieste che possono essere inviate tra consumatore e server. In effetti, \u00e8 la richiesta che avvia la comunicazione client-servizio, in cui la richiesta contiene tutte le informazioni necessarie al server per rispondere.<\/p>\n<ol start=\"3\">\n<li>\n<h3><strong>Memorizzazione nella cache<\/strong><\/h3>\n<\/li>\n<\/ol>\n<p>Lo scopo della memorizzazione nella cache di una richiesta non \u00e8 mai dover inviare la stessa richiesta due volte perch\u00e9 la memorizzazione nella cache indica al server di etichettare le risposte come memorizzabili nella cache o meno. Di conseguenza, la memorizzazione nella cache riduce i vincoli o le restrizioni generati dall&#8217;apolidia.<\/p>\n<ol start=\"4\">\n<li>\n<h3><strong>Contratto uniforme<\/strong><\/h3>\n<\/li>\n<\/ol>\n<p>Il contratto uniforme esclude l&#8217;uso di diverse interfacce indipendenti all&#8217;interno di un&#8217;interfaccia di programmazione dell&#8217;applicazione o API. REST si attiene ai principi di un contratto uniforme. Pertanto, un&#8217;interfaccia REST \u00e8 condivisa tramite connessioni ipermediali.<\/p>\n<ol start=\"5\">\n<li>\n<h3><strong>Sistema a strati<\/strong><\/h3>\n<\/li>\n<\/ol>\n<p>Un sistema a pi\u00f9 livelli utilizza diversi livelli indipendenti per sviluppare ed estendere l&#8217;interfaccia. Poich\u00e9 i livelli non possono vedersi l&#8217;uno nell&#8217;altro, \u00e8 possibile inserire nuove richieste e middleware che non influiranno sui comandi iniziali e sul funzionamento client-server.<\/p>\n<ol start=\"6\">\n<li>\n<h3><strong>Opzionale: codice su richiesta<\/strong><\/h3>\n<\/li>\n<\/ol>\n<p>Sebbene Client-Server, Caching, Statelessness, Uniform Contract e Layered System siano indispensabili per le app RESTful, Code-On-Demand non \u00e8 obbligatorio. Tuttavia, Code-on-Demand consente alla logica all&#8217;interno dei client di rimanere indipendente e quindi aggiornata separatamente dalla logica del server.<\/p>\n<h3><strong>Considerazioni finali su CRUD vs REST<\/strong><\/h3>\n<p>CRUD comporta le operazioni essenziali eseguite nell&#8217;archiviazione di dati statici o nei database, come la gestione di record o oggetti passivi. CRUD essenzialmente manipola i dati di base.<\/p>\n<p>REST si basa sulla rappresentazione delle risorse tramite URL univoci, dove le risorse sono astrazioni di oggetti, in cui il commento di un utente pu\u00f2 essere una risorsa, ad esempio.<\/p>\n<p>In quanto tale, REST comporta pi\u00f9 di un record in una tabella dei commenti. REST riguarda la relazione del record con la risorsa utente e il post\/commento a cui \u00e8 allegato. REST \u00e8 uno stile API di altissimo livello che interagisce con un sistema complesso.<\/p>\n<hr \/>\n<p>Naturalmente, questo articolo non era un tutorial completo, dal momento che ci sarebbero volute venti pagine per scriverne uno. Ma facci sapere se hai qualche domanda o se vorresti vedere un esempio passo dopo passo specifico e ne creeremo uno per te.<\/p>\n<p>Speriamo sia stato utile in qualche modo.<\/p>\n<p>Grazie per aver letto!<\/p>\n<p>Fonte immagine: <a href=\"http:\/\/www.tyseo.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/www.tyseo.net<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/wpdatatables.com\" class=\"external external_icon\">wpdatatables.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Creare un sistema CRUD in WordPress potrebbe essere complicato. In questo articolo vedremo la definizione di un sistema CRUD e in diversi modi come farlo.<\/p>\n","protected":false},"author":1,"featured_media":205613,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[814,844,865],"tags":[1168],"class_list":["post-226045","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-plugin-2","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/226045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=226045"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/226045\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/205613"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=226045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=226045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=226045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}