{"id":167171,"date":"2025-06-23T09:00:00","date_gmt":"2025-06-23T09:00:00","guid":{"rendered":"https:\/\/gtechgroup.it\/blog\/acf-flexible-content-layout-dinamici\/"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"acf-flexible-content-layout-dinamici","status":"publish","type":"post","link":"https:\/\/gtechgroup.it\/blog\/acf-flexible-content-layout-dinamici\/","title":{"rendered":"ACF Flexible Content: Layout Dinamici Senza Page Builder"},"content":{"rendered":"<h2>Cos&#8217;&#232; il Flexible Content di ACF<\/h2>\n<p>Il <strong>Flexible Content<\/strong> &#232; il campo pi&#249; avanzato e versatile disponibile in ACF PRO. Si tratta di un campo speciale che permette agli utenti di comporre pagine combinando diversi <strong>layout predefiniti<\/strong>, ciascuno con i propri campi specifici. A differenza del Repeater, che ripete sempre la stessa struttura di campi, il Flexible Content offre una scelta tra pi&#249; strutture diverse, permettendo di creare pagine con sezioni eterogenee come un hero banner, un blocco di testo con immagine, una griglia di servizi, una sezione testimonial e un call-to-action, il tutto gestito da un&#8217;unica interfaccia nell&#8217;editor di WordPress.<\/p>\n<p>In pratica, il Flexible Content trasforma l&#8217;editor di WordPress in un <strong>page builder leggero<\/strong>, senza le complessit&#224; e l&#8217;overhead di strumenti come Elementor o WPBakery. Il grande vantaggio &#232; che i layout sono definiti dallo sviluppatore nel tema, garantendo coerenza visiva e aderenza al brand, mentre il gestore dei contenuti ha la libert&#224; di scegliere quali sezioni includere, in quale ordine e con quali contenuti. Il risultato &#232; un equilibrio perfetto tra flessibilit&#224; per l&#8217;utente e controllo per lo sviluppatore.<\/p>\n<p>In questo articolo esploreremo la configurazione del Flexible Content, la creazione dei layout, il rendering nel frontend con i template PHP e le strategie per costruire sistemi di layout scalabili e manutenibili. Se sei uno sviluppatore WordPress che desidera offrire ai clienti un&#8217;esperienza di editing potente senza dipendere da page builder esterni, il Flexible Content &#232; lo strumento che fa per te.<\/p>\n<h2>Creare un Campo Flexible Content<\/h2>\n<p>Per creare un campo Flexible Content, accedi all&#8217;editor di un gruppo di campi ACF e aggiungi un nuovo campo selezionando il tipo <strong>Flexible Content<\/strong>. Assegna un&#8217;etichetta come &#8220;Contenuto Pagina&#8221; o &#8220;Sezioni&#8221; e configura il nome del campo (ad esempio <code>sezioni_pagina<\/code>). Una volta selezionato il tipo, l&#8217;interfaccia si espande mostrando l&#8217;area dove definire i <strong>layout<\/strong>.<\/p>\n<p>Ogni layout rappresenta un tipo di sezione che l&#8217;utente potr&#224; aggiungere alla pagina. Clicca su <strong>Add Layout<\/strong> per creare il primo layout. Ogni layout ha un <strong>nome<\/strong> (l&#8217;etichetta visibile all&#8217;utente), un <strong>name<\/strong> (l&#8217;identificativo tecnico) e un proprio set di <strong>sottocampi<\/strong>. Pensa al layout come a un mini-gruppo di campi autonomo: pu&#242; contenere qualsiasi tipo di campo ACF, inclusi Text, Image, Wysiwyg, Repeater e persino altri Flexible Content annidati.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/acf-02-newgroup.png\" alt=\"Creazione di un campo Flexible Content con layout multipli in ACF PRO\" \/><\/p>\n<p>Ecco un esempio di configurazione tipica con cinque layout. <strong>Hero Banner<\/strong>: campi per titolo (Text), sottotitolo (Text Area), immagine di sfondo (Image), testo del pulsante CTA (Text) e URL del pulsante (URL). <strong>Testo con Immagine<\/strong>: editor Wysiwyg per il testo, campo Image per l&#8217;immagine, Select per la posizione dell&#8217;immagine (sinistra\/destra). <strong>Griglia Servizi<\/strong>: Repeater con icona (Image), titolo (Text) e descrizione (Text Area) per ogni servizio. <strong>Testimonial<\/strong>: Repeater con foto (Image), nome (Text), ruolo (Text) e citazione (Text Area). <strong>Call to Action<\/strong>: titolo (Text), testo (Text Area), testo pulsante (Text) e URL (URL).<\/p>\n<h2>Opzioni di Configurazione del Flexible Content<\/h2>\n<p>Il campo Flexible Content offre diverse opzioni a livello globale. <strong>Minimum Layouts<\/strong> e <strong>Maximum Layouts<\/strong> controllano il numero minimo e massimo di sezioni che l&#8217;utente pu&#242; aggiungere. <strong>Button Label<\/strong> personalizza il testo del pulsante per aggiungere nuove sezioni (ad esempio &#8220;Aggiungi Sezione&#8221; invece del generico &#8220;Add Row&#8221;). Ogni singolo layout ha anche le proprie opzioni: <strong>Min<\/strong> e <strong>Max<\/strong> per limitare quante volte quel specifico layout pu&#242; essere usato nella stessa pagina.<\/p>\n<p>L&#8217;opzione <strong>Layout<\/strong> di ogni singolo layout controlla come i sottocampi vengono visualizzati nell&#8217;editor: <em>Block<\/em> (predefinito) mostra i campi in un blocco espandibile, <em>Table<\/em> li mostra come colonne di una tabella e <em>Row<\/em> &#232; un compromesso tra i due. Per layout con molti sottocampi o con campi di tipo Wysiwyg e Image, il formato Block &#232; quasi sempre la scelta migliore perch&#233; offre pi&#249; spazio e una migliore organizzazione visiva.<\/p>\n<p>Un&#8217;opzione particolarmente utile &#232; la possibilit&#224; di assegnare un&#8217;<strong>icona<\/strong> a ogni layout nel menu di selezione. Anche se ACF non supporta nativamente le icone personalizzate per i layout, puoi usare il filtro <code>acf\/fields\/flexible_content\/layout_title<\/code> per aggiungere emoji o icone HTML al titolo di ogni layout, rendendo il menu di selezione pi&#249; intuitivo per gli utenti.<\/p>\n<h2>Rendering del Flexible Content nel Frontend<\/h2>\n<p>La visualizzazione del Flexible Content nel frontend &#232; gestita con un loop <code>have_rows()<\/code> simile a quello del Repeater, con l&#8217;aggiunta di <code>get_row_layout()<\/code> che identifica quale layout &#232; stato selezionato per ogni riga. La struttura base &#232; un ciclo while con un costrutto switch o if\/elseif per gestire i diversi layout:<\/p>\n<pre><code>&lt;?php if( have_rows(sezioni_pagina) ): ?&gt;\n    &lt;?php while( have_rows(sezioni_pagina) ): the_row(); ?&gt;\n\n        &lt;?php if( get_row_layout() == hero_banner ): ?&gt;\n            &lt;section class=\"hero\"&gt;\n                &lt;h1&gt;&lt;?php the_sub_field(titolo); ?&gt;&lt;\/h1&gt;\n                &lt;p&gt;&lt;?php the_sub_field(sottotitolo); ?&gt;&lt;\/p&gt;\n            &lt;\/section&gt;\n\n        &lt;?php elseif( get_row_layout() == testo_con_immagine ): ?&gt;\n            &lt;section class=\"text-image\"&gt;\n                &lt;div class=\"text\"&gt;&lt;?php the_sub_field(testo); ?&gt;&lt;\/div&gt;\n                &lt;?php $img = get_sub_field(immagine); ?&gt;\n                &lt;img src=\"&lt;?php echo esc_url($img[url]); ?&gt;\" alt=\"&lt;?php echo esc_attr($img[alt]); ?&gt;\" \/&gt;\n            &lt;\/section&gt;\n\n        &lt;?php elseif( get_row_layout() == call_to_action ): ?&gt;\n            &lt;section class=\"cta\"&gt;\n                &lt;h2&gt;&lt;?php the_sub_field(titolo); ?&gt;&lt;\/h2&gt;\n                &lt;a href=\"&lt;?php the_sub_field(url_pulsante); ?&gt;\"&gt;\n                    &lt;?php the_sub_field(testo_pulsante); ?&gt;\n                &lt;\/a&gt;\n            &lt;\/section&gt;\n\n        &lt;?php endif; ?&gt;\n    &lt;?php endwhile; ?&gt;\n&lt;?php endif; ?&gt;<\/code><\/pre>\n<p>Per mantenere il codice organizzato e manutenibile, &#232; fortemente consigliato separare il rendering di ogni layout in un file template part dedicato. Invece di scrivere tutto l&#8217;HTML nel template principale, crea una cartella <code>template-parts\/flex\/<\/code> nel tema con un file per ogni layout (ad esempio <code>hero-banner.php<\/code>, <code>testo-immagine.php<\/code>, <code>call-to-action.php<\/code>) e includi il file appropriato con <code>get_template_part()<\/code>.<\/p>\n<h2>Organizzazione dei Template Part<\/h2>\n<p>Un&#8217;architettura ben organizzata per il Flexible Content utilizza una struttura di file chiara e coerente. Ecco la struttura consigliata per il tema:<\/p>\n<pre><code>tema\/\n\u251c\u2500\u2500 template-parts\/\n\u2502   \u2514\u2500\u2500 flex\/\n\u2502       \u251c\u2500\u2500 hero-banner.php\n\u2502       \u251c\u2500\u2500 testo-immagine.php\n\u2502       \u251c\u2500\u2500 griglia-servizi.php\n\u2502       \u251c\u2500\u2500 testimonial.php\n\u2502       \u251c\u2500\u2500 call-to-action.php\n\u2502       \u251c\u2500\u2500 gallery.php\n\u2502       \u2514\u2500\u2500 faq.php<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/acf-01-groups.png\" alt=\"Organizzazione dei gruppi di campi per il Flexible Content in ACF\" \/><\/p>\n<p>Il template principale diventa estremamente pulito, con un singolo loop che carica automaticamente il file corretto in base al layout selezionato. Puoi sfruttare una convenzione di naming per automatizzare il caricamento: se il nome tecnico del layout corrisponde al nome del file template part, puoi usare <code>get_template_part(template-parts\/flex\/ . get_row_layout())<\/code> per caricare automaticamente il file senza bisogno di un costrutto if\/elseif per ogni layout. Questo approccio &#232; elegante e scalabile: aggiungere un nuovo layout richiede solo di creare il layout in ACF e il corrispondente file template, senza modificare il template principale.<\/p>\n<h2>Layout Avanzati con Opzioni di Stile<\/h2>\n<p>Per offrire maggiore flessibilit&#224; agli utenti senza sacrificare la coerenza del design, puoi aggiungere <strong>campi di stile<\/strong> a ogni layout. Un approccio comune &#232; creare un campo Tab &#8220;Stile&#8221; (o &#8220;Opzioni&#8221;) all&#8217;interno di ogni layout con campi come: <strong>Sfondo<\/strong> (Select con opzioni Bianco, Grigio chiaro, Scuro, Immagine), <strong>Padding<\/strong> (Select con opzioni Piccolo, Medio, Grande), <strong>Allineamento<\/strong> (Button Group con Sinistra, Centro, Destra) e <strong>Larghezza<\/strong> (Select con Contenuto, Piena larghezza).<\/p>\n<p>Questi campi di stile vengono poi tradotti in classi CSS nel template part:<\/p>\n<pre><code>&lt;?php\n$sfondo = get_sub_field(sfondo) ?: bianco;\n$padding = get_sub_field(padding) ?: medio;\n$larghezza = get_sub_field(larghezza) ?: contenuto;\n?&gt;\n&lt;section class=\"section-hero bg-&lt;?php echo esc_attr($sfondo); ?&gt; padding-&lt;?php echo esc_attr($padding); ?&gt; width-&lt;?php echo esc_attr($larghezza); ?&gt;\"&gt;\n    &lt;!-- contenuto del layout --&gt;\n&lt;\/section&gt;<\/code><\/pre>\n<p>Questo approccio d&#224; all&#8217;utente la possibilit&#224; di personalizzare l&#8217;aspetto di ogni sezione (alternare sfondi chiari e scuri, variare il padding, ecc.) pur restando all&#8217;interno di un sistema di design predefinito. Lo sviluppatore mantiene il controllo sulle opzioni disponibili e sullo stile CSS corrispondente, garantendo che ogni combinazione di opzioni produca un risultato visivamente coerente.<\/p>\n<h2>Flexible Content vs Page Builder: Quando Scegliere Cosa<\/h2>\n<p>La domanda che molti sviluppatori si pongono &#232;: perch&#233; usare il Flexible Content quando esistono page builder pi&#249; potenti come Elementor o WPBakery? La risposta dipende dal progetto e dal profilo dell&#8217;utente finale. Il Flexible Content eccelle in scenari dove il <strong>controllo del design &#232; critico<\/strong>: siti aziendali con un brand guide rigoroso, portali istituzionali con standard di accessibilit&#224;, siti dove la coerenza visiva non pu&#242; essere lasciata alla discrezione dell&#8217;utente.<\/p>\n<p>I vantaggi del Flexible Content rispetto ai page builder includono: <strong>performance superiori<\/strong> (nessun CSS\/JS aggiuntivo dei page builder, HTML pulito e semantico), <strong>manutenibilit&#224;<\/strong> (il codice dei layout &#232; nel tema, versionabile con Git), <strong>portabilit&#224;<\/strong> (se cambi tema, i dati ACF restano nel database e possono essere riutilizzati), <strong>sicurezza<\/strong> (l&#8217;utente non pu&#242; inserire codice arbitrario o rompere il layout). Gli svantaggi principali sono la necessit&#224; di uno sviluppatore per creare nuovi layout e la mancanza di un&#8217;anteprima visuale in tempo reale nell&#8217;editor.<\/p>\n<p>In molti progetti professionali, la soluzione ideale &#232; un approccio ibrido: usare il Flexible Content per le pagine principali del sito (homepage, chi siamo, servizi) dove il design deve essere perfetto, e Elementor o Gutenberg per le pagine secondarie (articoli del blog, landing page temporanee) dove la velocit&#224; di creazione &#232; pi&#249; importante della perfezione del codice.<\/p>\n<h2>Gestire Layout Complessi: Annidamento e Relazioni<\/h2>\n<p>Il Flexible Content supporta l&#8217;annidamento di Repeater all&#8217;interno dei layout (ad esempio, una griglia di servizi con un Repeater per i singoli servizi) e, con ACF PRO, puoi anche annidare un Flexible Content dentro un altro, anche se questa pratica &#232; generalmente sconsigliata per la complessit&#224; che introduce sia nel backend che nel frontend.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/acf-03-tools.png\" alt=\"Strumenti ACF per la gestione del Flexible Content e dei layout dinamici\" \/><\/p>\n<p>Un approccio pi&#249; sostenibile per contenuti complessi &#232; combinare il Flexible Content con i <strong>campi relazionali<\/strong>. Invece di annidare un Repeater di testimonial dentro il layout &#8220;Sezione Testimonial&#8221;, puoi creare un custom post type &#8220;Testimonial&#8221; e usare un campo Relationship nel layout per selezionare quali testimonial mostrare. Questo approccio separa i dati dalla presentazione: i testimonial esistono come entit&#224; indipendenti e possono essere riutilizzati in pi&#249; pagine senza duplicazione.<\/p>\n<p>Questo pattern architetturale, dove il Flexible Content gestisce il layout e i custom post type gestiscono i dati, &#232; considerato una best practice nella comunit&#224; degli sviluppatori ACF. Produce codice pi&#249; pulito, database pi&#249; efficienti e un&#8217;esperienza di editing pi&#249; intuitiva. Lo svantaggio &#232; che richiede pi&#249; lavoro iniziale nella progettazione dell&#8217;architettura, ma ripaga ampiamente in manutenibilit&#224; e scalabilit&#224;.<\/p>\n<h2>Preview e Anteprima dei Layout<\/h2>\n<p>Una delle limitazioni storiche del Flexible Content &#232; la mancanza di un&#8217;anteprima visuale nell&#8217;editor. L&#8217;utente vede solo i campi da compilare, senza un&#8217;idea chiara di come il layout apparir&#224; nel frontend. Per mitigare questo problema, puoi adottare diverse strategie. La prima &#232; utilizzare il campo <strong>Message<\/strong> all&#8217;inizio di ogni layout per mostrare un&#8217;anteprima o una descrizione visiva del layout, eventualmente con un&#8217;immagine di esempio.<\/p>\n<p>La seconda strategia &#232; sfruttare il sistema di <strong>preview<\/strong> di WordPress: assicurati che il pulsante &#8220;Anteprima&#8221; funzioni correttamente per il tuo tema, in modo che l&#8217;utente possa vedere il risultato in un&#8217;altra finestra del browser mentre compila i campi. La terza strategia, pi&#249; avanzata, &#232; utilizzare JavaScript personalizzato per creare anteprime live nell&#8217;editor, ma questo richiede un investimento significativo in sviluppo frontend.<\/p>\n<p>Con l&#8217;introduzione dei blocchi ACF per Gutenberg (che tratteremo in un articolo dedicato), la situazione &#232; migliorata notevolmente: i blocchi ACF offrono un&#8217;anteprima nativa nell&#8217;editor Gutenberg, combinando la potenza dei campi ACF con l&#8217;esperienza visuale dell&#8217;editor a blocchi.<\/p>\n<div style=\"background:#f9f9f9;border:1px solid #e0e0e0;padding:20px;margin:30px 0;border-radius:8px;\">\n<h3>Leggi anche gli altri articoli della serie ACF<\/h3>\n<ul>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/installare-configurare-acf-advanced-custom-fields\/\">Come Installare e Configurare Advanced Custom Fields su WordPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-creare-primo-gruppo-campi-personalizzati\/\">ACF: Creare il Primo Gruppo di Campi Personalizzati<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-tipi-campo-testo-immagine-relazione\/\">Tutti i Tipi di Campo ACF: Testo, Immagine, Relazione e Altro<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-repeater-field-contenuti-ripetibili\/\">ACF e i Repeater Field: Creare Contenuti Ripetibili e Flessibili<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-options-page-impostazioni-globali-tema\/\">ACF e le Options Page: Impostazioni Globali per il Tema<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-visualizzare-campi-frontend-template-shortcode\/\">Visualizzare i Campi ACF nel Frontend: Template e Shortcode<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-elementor-campi-personalizzati-page-builder\/\">ACF e Elementor: Usare i Campi Personalizzati nel Page Builder<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-woocommerce-campi-personalizzati-prodotti\/\">ACF e WooCommerce: Aggiungere Campi Personalizzati ai Prodotti<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-gutenberg-blocchi-custom-campi\/\">ACF e Gutenberg: Blocchi Custom con Campi Personalizzati<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-free-vs-pro-confronto-prezzi\/\">ACF Free vs Pro: Confronto Funzionalit&#224; e Prezzi 2026<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-vs-custom-fields-vs-meta-box-vs-pods\/\">ACF vs Custom Fields Nativi vs Meta Box vs Pods: Confronto<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-import-export-sincronizzazione-json\/\">ACF: Import, Export e Sincronizzazione JSON dei Field Group<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-query-avanzate-wp-query-meta-query\/\">Query Avanzate con ACF: WP_Query, Meta Query e Performance<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/acf-problemi-comuni-troubleshooting\/\">Risolvere i Problemi Comuni di ACF: Troubleshooting<\/a><\/li>\n<\/ul>\n<\/div>\n<p>Per implementare layout dinamici professionali con ACF Flexible Content nel tuo sito WordPress, il team di <a href=\"https:\/\/gtechgroup.it\/realizzazione-siti-web\/\">G Tech Group &#232; specializzato nella realizzazione di siti web<\/a> con architetture avanzate e personalizzabili. <a href=\"https:\/\/gtechgroup.it\/contatti\/\">Contattaci<\/a> per una consulenza e scopri come il Flexible Content pu&#242; rivoluzionare la gestione del tuo sito.<\/p>\n<h3>Migliora il Tuo Sito WordPress<\/h3>\n<p>Scopri le nostre guide complete sugli altri plugin essenziali per WordPress:<\/p>\n<ul>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-elementor-wordpress-guida-principianti\/\">Come Installare Elementor su WordPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/wp-rocket-installare-configurare-wordpress\/\">Come Installare e Configurare WP Rocket<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-configurare-seopress-wordpress-guida\/\">Come Installare e Configurare SEOPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/installare-attivare-updraftplus-wordpress\/\">Come Installare e Configurare UpdraftPlus<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Cos&#8217;&#232; il Flexible Content di ACF Il Flexible Content &#232; il campo pi&#249; avanzato e versatile disponibile in ACF PRO. Si tratta di un campo&hellip;<\/p>\n","protected":false},"author":0,"featured_media":167113,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"ACF Flexible Content: Layout Dinamici | Guida","_seopress_titles_desc":"Come usare Flexible Content di ACF per creare layout dinamici senza page builder. Blocchi modulari.","_seopress_robots_index":"","footnotes":""},"categories":[1],"tags":[2602,3554,3553,3193,492],"class_list":["post-167171","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-senza-categoria","tag-acf","tag-dinamici","tag-flexible-content","tag-layout","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/167171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/comments?post=167171"}],"version-history":[{"count":0,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/167171\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media\/167113"}],"wp:attachment":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media?parent=167171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/categories?post=167171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/tags?post=167171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}