{"id":72838,"date":"2023-09-04T15:16:03","date_gmt":"2023-09-04T14:16:03","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=72838&#038;preview=true&#038;preview_id=72838"},"modified":"2023-09-05T14:41:21","modified_gmt":"2023-09-05T13:41:21","slug":"block-template-wordpress","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/","title":{"rendered":"Come creare i block template di WordPress"},"content":{"rendered":"<p>Nell&#8217;era di <a href=\"https:\/\/kinsta.com\/it\/blog\/gutenberg-editor-wordpress\/\">Gutenberg<\/a>, il lavoro di progettazione non \u00e8 strettamente legato ai <a href=\"https:\/\/kinsta.com\/it\/blog\/temi-wordpress-veloci\/\">temi di WordPress<\/a>. Il CMS fornisce agli utenti tutti gli strumenti di design necessari per creare un ottimo sito web e il tema vuole essere pi\u00f9 un elemento che aggiunge ulteriori strumenti di design.<\/p>\n<p>I block template offrono ancora maggiori possibilit\u00e0 nella creazione di un sito. Secondo il <a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/block-api\/block-templates\/\" target=\"_blank\" rel=\"noopener noreferrer\">Block Editor Handbook<\/a>:<\/p>\n<blockquote><p><em>Un block template \u00e8 definito come un elenco di blocchi. Tali blocchi possono avere attributi predefiniti, contenuti segnaposto ed essere statici o dinamici. I block template consentono di specificare uno stato iniziale predefinito per una sessione dell&#8217;editor.<\/em><\/p><\/blockquote>\n<p>In altre parole, i block template sono collezioni pre-costruite di blocchi utilizzati per impostare uno stato predefinito in modo dinamico sul client.<\/p>\n<p><strong>\ud83d\udc49 I block template sono diversi dai template file.<\/strong><\/p>\n<p>I template file sono file PHP come <strong>index.php<\/strong>, <strong>page.php<\/strong> e <strong>single.php<\/strong> e funzionano allo stesso modo sia con i temi classici che con quelli a blocchi, secondo la <a href=\"https:\/\/kinsta.com\/it\/blog\/gerarchia-dei-template-wordpress\/\">gerarchia dei template di WordPress<\/a>. Nei temi classici, questi file sono scritti in PHP e HTML. Nei temi a blocchi, invece, sono interamente composti da blocchi.<\/p>\n<p><strong>\ud83d\udc49 I block template sono diversi dai block pattern.<\/strong><\/p>\n<p>I <a href=\"https:\/\/kinsta.com\/it\/blog\/block-pattern-wordpress\/\">block pattern<\/a> devono essere aggiunti manualmente alle pagine, mentre i block template forniscono automaticamente il layout iniziale e le impostazioni predefinite quando l&#8217;amministratote o i membri del team creano un nuovo post.<\/p>\n<p>\u00c8 anche possibile legare block template specifici ai tipi di post personalizzati e bloccare alcuni blocchi o funzioni per costringere gli utenti a utilizzare i layout predefiniti o per evitare errori.<\/p>\n<p>Ci sono due modi per creare un block template. \u00c8 possibile <a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/block-api\/block-templates\/\" target=\"_blank\" rel=\"noopener noreferrer\">utilizzare la block API<\/a> per dichiarare un array di tipi di blocco tramite PHP, oppure creare un tipo di blocco personalizzato utilizzando il componente <code>InnerBlocks<\/code>.<\/p>\n<p>Cominciamo!<\/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>Come creare un block template con PHP<\/h2>\n<p>Uno sviluppatore della vecchia scuola pu\u00f2 definire un block template personalizzato utilizzando un plugin o il file <a href=\"https:\/\/kinsta.com\/it\/blog\/wordpress-functions-php\/\">functions.php<\/a> del tema. Se si decide di utilizzare un plugin, si comincia avviando il proprio <a href=\"https:\/\/kinsta.com\/it\/blog\/editor-php\/\">editor di codice<\/a> preferito, si crea un nuovo file PHP e si aggiunge il seguente codice:<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/*\n * Plugin Name:       My Block Templates\n * Plugin URI:        https:\/\/example.com\/\n * Description:       An example plugin\n * Version:           1.0\n * Requires at least: 5.5\n * Requires PHP:      8.0\n * Author:            Your name\n * Author URI:        https:\/\/author.example.com\/\n * License:           GPL v2 or later\n * License URI:       https:\/\/www.gnu.org\/licenses\/gpl-2.0.html\n * Update URI:        https:\/\/example.com\/my-plugin\/\n *\/\n\nfunction myplugin_register_my_block_template() {\n\t$post_type_object = get_post_type_object( 'post' );\n\t$post_type_object-&gt;template = array(\n\t\tarray( 'core\/image' ),\n\t\tarray( 'core\/heading' ),\n\t\tarray( 'core\/paragraph' )\n\t);\n}\nadd_action( 'init', 'myplugin_register_my_block_template' );<\/code><\/pre>\n<p>Nel codice qui sopra, <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/get_post_type_object\/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>get_post_type_object<\/code><\/a> recupera un tipo di post in base al nome.<\/p>\n<p>Salviamo il file nella cartella <strong>wp-content\/plugins<\/strong>, passiamo alla schermata dei plugin nella <a href=\"https:\/\/kinsta.com\/it\/blog\/amministrazione-wordpress\/\">bacheca di WordPress<\/a> e attiviamo il plugin <strong>My Block Templates<\/strong>.<\/p>\n<p>Ora, quando creiamo un nuovo post, l&#8217;editor lancia automaticamente il block template con un blocco immagine, un titolo e un paragrafo.<\/p>\n<figure id=\"attachment_161425\" aria-describedby=\"caption-attachment-161425\" style=\"width: 1984px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161425\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/block-template.jpg\" alt=\"Un block template caricato automaticamente nell'editor dei post\" width=\"1984\" height=\"1220\"><figcaption id=\"caption-attachment-161425\" class=\"wp-caption-text\">Un block template caricato automaticamente nell&#8217;editor dei post<\/figcaption><\/figure>\n<p>Possiamo anche aggiungere un array di impostazioni per ogni blocco e creare strutture annidate di blocchi. La funzione che segue crea un block template pi\u00f9 avanzato con blocchi interni e impostazioni:<\/p>\n<pre><code class=\"language-php\">function myplugin_register_my_block_template() {\n\n\t$block_template = array(\n\t\tarray( 'core\/image' ),\n\t\tarray( 'core\/heading', array(\n\t\t\t'placeholder'\t=&gt; 'Add H2...',\n\t\t\t'level'\t\t\t=&gt; 2\n\t\t) ),\n\t\tarray( 'core\/paragraph', array(\n\t\t\t'placeholder'\t=&gt; 'Add paragraph...'\n\t\t\t\n\t\t) ),\n\t\tarray( 'core\/columns', \n\t\t\tarray(), \n\t\t\tarray( \n\t\t\t\tarray( 'core\/column',\n\t\t\t\t\tarray(),\n\t\t\t\t\tarray(\n\t\t\t\t\t\tarray( 'core\/image' )\n\t\t\t\t\t)\n\t\t\t\t), \n\t\t\t\tarray( 'core\/column',\n\t\t\t\t\tarray(),\n\t\t\t\t\tarray(\n\t\t\t\t\t\tarray( 'core\/heading', array(\n\t\t\t\t\t\t\t'placeholder'\t=&gt; 'Add H3...',\n\t\t\t\t\t\t\t'level'\t\t\t=&gt; 3\n\t\t\t\t\t\t) ),\n\t\t\t\t\t\tarray( 'core\/paragraph', array(\n\t\t\t\t\t\t\t'placeholder'\t=&gt; 'Add paragraph...'\n\t\t\t\t\t\t) )\n\t\t\t\t\t) \n\t\t\t\t)\n\t\t\t) \n\t\t)\n\t);\n\t$post_type_object = get_post_type_object( 'post' );\n\t$post_type_object-&gt;template = $block_template;\n}\nadd_action( 'init', 'myplugin_register_my_block_template' );<\/code><\/pre>\n<p>Nell&#8217;immagine che segue, vediamo l&#8217;output del codice qui sopra:<\/p>\n<figure id=\"attachment_161426\" aria-describedby=\"caption-attachment-161426\" style=\"width: 2124px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161426\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/block-template-2.jpg\" alt=\"Un block template pi\u00f9 avanzato\" width=\"2124\" height=\"1432\"><figcaption id=\"caption-attachment-161426\" class=\"wp-caption-text\">Un block template pi\u00f9 avanzato<\/figcaption><\/figure>\n<p>Finora abbiamo utilizzato solo i blocchi del core. Ma possiamo anche includere <a href=\"https:\/\/kinsta.com\/it\/blog\/blocchi-gutenberg\/\">blocchi personalizzati<\/a> o <a href=\"https:\/\/kinsta.com\/it\/blog\/block-pattern-wordpress\/\">block pattern<\/a> all&#8217;interno dei nostri block template, come mostrato nell&#8217;esempio che segue:<\/p>\n<pre><code class=\"language-php\">function myplugin_register_my_block_template() {\n\t$post_type_object = get_post_type_object( 'page' );\n\t$post_type_object-&gt;template = array(\n\t\tarray( 'core\/pattern', array(\n\t\t\t'slug' =&gt; 'my-plugin\/my-block-pattern'\n\t\t) ) \n\t);\n}\nadd_action( 'init', 'myplugin_register_my_block_template' );<\/code><\/pre>\n<p>Se decidiamo di creare un block template predefinito per un tipo di post personalizzato gi\u00e0 registrato, non c&#8217;\u00e8 molta differenza. Basta cambiare il tipo di post di <code>get_post_type_object<\/code> con il nome del nostro tipo di post personalizzato, come mostrato in questo esempio:<\/p>\n<pre><code class=\"language-php\">&lt;?php\nfunction myplugin_register_my_block_template() {\n\t$post_type_object = get_post_type_object( 'book' );\n\t$post_type_object-&gt;template = array(\n\t\tarray( 'core\/image' ),\n\t\tarray( 'core\/heading' ),\n\t\tarray( 'core\/paragraph' )\n\t);\n}\nadd_action( 'init', 'myplugin_register_my_block_template' );<\/code><\/pre>\n<p>Ora che sappiamo come creare un block template, possiamo fare un passo avanti e scoprire altri casi d&#8217;uso. Approfondiamo un po&#8217; il discorso.<\/p>\n<div><\/div><kinsta-auto-toc list-style=\"decimal\" selector=\"h3\" count-number=\"5\" sub-toc=\"true\"><\/kinsta-auto-toc>\n<h3>Block template con tipi di post personalizzati<\/h3>\n<p>Come abbiamo detto in precedenza, possiamo assegnare un block template a un tipo di post personalizzato. Possiamo farlo dopo che il tipo di post personalizzato \u00e8 gi\u00e0 stato registrato, ma potremmo preferire definire un block template al momento della <a href=\"https:\/\/kinsta.com\/it\/blog\/custom-post-type-wordpress\/\">registrazione del custom post type<\/a>.<\/p>\n<p>In questo caso, possiamo utilizzare gli argomenti <code>template<\/code> e <code>template_lock<\/code> della funzione <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_post_type\/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>register_post_type<\/code><\/a>:<\/p>\n<pre><code class=\"language-php\">function myplugin_register_book_post_type() {\n\t$args = array(\n\t\t'label' =&gt; esc_html__( 'Books' ),\n\t\t'labels' =&gt; array(\n\t\t\t'name' =&gt; esc_html__( 'Books' ),\n\t\t\t'singular_name' =&gt; esc_html__( 'Book' ),\n\t\t),\n\t\t'public' =&gt; true,\n\t\t'publicly_queryable' =&gt; true,\n\t\t'show_ui' =&gt; true,\n\t\t'show_in_rest' =&gt; true,\n\t\t'rest_namespace' =&gt; 'wp\/v2',\n\t\t'has_archive' =&gt; true,\n\t\t'show_in_menu' =&gt; true,\n\t\t'show_in_nav_menus' =&gt; true,\n\t\t'supports' =&gt; array( 'title', 'editor', 'thumbnail' ),\n\t\t'template' =&gt; array(\n\t\t\tarray( 'core\/paragraph', array(\n\t\t\t\t'placeholder'\t=&gt; 'Add paragraph...'\n\t\t\t) ),\n\t\t\tarray( 'core\/columns', \n\t\t\t\tarray(), \n\t\t\t\tarray( \n\t\t\t\t\tarray( 'core\/column',\n\t\t\t\t\t\tarray(),\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\tarray( 'core\/image' )\n\t\t\t\t\t\t)\n\t\t\t\t\t), \n\t\t\t\t\tarray( 'core\/column',\n\t\t\t\t\t\tarray(),\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\tarray( 'core\/heading', array(\n\t\t\t\t\t\t\t\t'placeholder'\t=&gt; 'Add H3...',\n\t\t\t\t\t\t\t\t'level'\t\t\t=&gt; 3\n\t\t\t\t\t\t\t) ),\n\t\t\t\t\t\t\tarray( 'core\/paragraph', array(\n\t\t\t\t\t\t\t\t'placeholder'\t=&gt; 'Add paragraph...'\n\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t) \n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t);\n\tregister_post_type( 'book', $args );\n}\nadd_action( 'init', 'myplugin_register_book_post_type' );<\/code><\/pre>\n<p>E questo \u00e8 tutto. L&#8217;immagine che segue mostra il block template nell&#8217;interfaccia dell&#8217;editor per il custom post type <em>Book<\/em>.<\/p>\n<figure id=\"attachment_161428\" aria-describedby=\"caption-attachment-161428\" style=\"width: 2124px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161428\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/cpt-block-template.jpg\" alt=\"Un block template per un tipo di post personalizzato\" width=\"2124\" height=\"1038\"><figcaption id=\"caption-attachment-161428\" class=\"wp-caption-text\">Un block template per un tipo di post personalizzato<\/figcaption><\/figure>\n<p>Una volta terminato il layout, possiamo divertirci con le impostazioni dei blocchi per perfezionare il comportamento e l&#8217;aspetto del block template.<\/p>\n<h3>Perfezionare il block template con gli attributi dei blocchi<\/h3>\n<p>Abbiamo definito un block template come un elenco di blocchi. Ogni elemento dell&#8217;elenco deve essere un array contenente il nome del blocco e un array di attributi opzionali. Con gli array annidati, potremmo aggiungere un terzo array per i blocchi contenuti.<\/p>\n<p>Un template con un blocco Columns pu\u00f2 essere rappresentato come segue:<\/p>\n<pre><code class=\"language-php\">$template = array( 'core\/columns', \n\t\/\/ attributes\n\tarray(), \n\t\/\/ nested blocks\n\tarray(\n\t\tarray( 'core\/column' ),\n\t\tarray( 'core\/column' ) \n\t) \n);<\/code><\/pre>\n<p>Come gi\u00e0 detto, il secondo array dell&#8217;elenco \u00e8 un array opzionale di attributi del blocco. Questi attributi permettono di personalizzare l&#8217;aspetto del template in modo che gli utenti possano concentrarsi sul contenuto del post senza preoccuparsi del layout e del design della pagina.<\/p>\n<p>Per iniziare, possiamo utilizzare l&#8217;editor die blocchi per creare una struttura di blocchi che possa servire come riferimento per il template.<\/p>\n<figure id=\"attachment_161769\" aria-describedby=\"caption-attachment-161769\" style=\"width: 2118px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161769\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/a-block-layout.jpg\" alt=\"Un layout di blocchi nell'editor di blocchi\" width=\"2118\" height=\"1066\"><figcaption id=\"caption-attachment-161769\" class=\"wp-caption-text\">Un layout di blocchi nell&#8217;editor di blocchi<\/figcaption><\/figure>\n<p>Aggiungiamo i nostri blocchi, personalizziamo il layout e gli stili, poi passiamo all&#8217;editor di codice e cerchiamo i delimitatori di blocco.<\/p>\n<figure id=\"attachment_161770\" aria-describedby=\"caption-attachment-161770\" style=\"width: 2042px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161770\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/block-delimiter.jpg\" alt=\"Il delimitatore di blocco di un blocco Colonne\" width=\"2042\" height=\"248\"><figcaption id=\"caption-attachment-161770\" class=\"wp-caption-text\">Il delimitatore di blocco di un blocco Colonne<\/figcaption><\/figure>\n<p>I delimitatori di blocco memorizzano le impostazioni e gli stili del blocco in coppie chiave\/valore. Basta semplicemente copiare e incollare le chiavi e i valori dal markup del blocco per popolare il nostro array di attributi:<\/p>\n<pre><code class=\"language-php\">$template = array( 'core\/columns', \n\tarray(\n\t\t'verticalAlignment'\t=&gt; 'center',\n\t\t'align'\t\t\t\t=&gt; 'wide',\n\t\t'style'\t\t\t\t=&gt; array( \n\t\t\t'border'\t=&gt; array(\n\t\t\t\t'width'\t=&gt; '2px',\n\t\t\t\t'radius'\t=&gt; array(\n\t\t\t\t\t'topLeft'\t\t=&gt; '12px', \n\t\t\t\t\t'topRight'\t\t=&gt; '12px', \n\t\t\t\t\t'bottomLeft'\t=&gt; '12px', \n\t\t\t\t\t'bottomRight'\t=&gt; '12px'\n\t\t\t\t)\n\t\t\t)\n\t\t),\n\t\t'backgroundColor' =&gt; 'tertiary'\n\t),\n\tarray(\n\t\tarray( 'core\/column' ),\n\t\tarray( 'core\/column' ) \n\t) \n);<\/code><\/pre>\n<p>Ripetiamo il processo per ogni blocco del template e il gioco \u00e8 fatto.<\/p>\n<pre><code class=\"language-php\">$template = array(\n\tarray( 'core\/paragraph', array(\n\t\t'placeholder'\t=&gt; 'Add paragraph...'\n\t) ),\n\tarray( 'core\/columns', \n\t\tarray(\n\t\t\t'verticalAlignment'\t=&gt; 'center',\n\t\t\t'align'\t\t\t\t=&gt; 'wide',\n\t\t\t'style'\t\t\t\t=&gt; array( \n\t\t\t\t'border'\t=&gt; array(\n\t\t\t\t\t'width'\t\t=&gt; '2px',\n\t\t\t\t\t'radius'\t=&gt; array(\n\t\t\t\t\t\t'topLeft'\t\t=&gt; '12px', \n\t\t\t\t\t\t'topRight'\t\t=&gt; '12px', \n\t\t\t\t\t\t'bottomLeft'\t=&gt; '12px', \n\t\t\t\t\t\t'bottomRight'\t=&gt; '12px'\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t),\n\t\t\t'backgroundColor' =&gt; 'tertiary',\n\t\t\t'lock' =&gt; array(\n\t\t\t\t'remove'\t=&gt; true,\n\t\t\t\t'move'\t\t=&gt; true\n\t\t\t)\n\t\t), \n\t\tarray( \n\t\t\tarray( 'core\/column',\n\t\t\t\tarray( 'verticalAlignment'\t=&gt; 'center' ),\n\t\t\t\tarray(\n\t\t\t\t\tarray( 'core\/image', \n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t'style'\t=&gt; array( 'border' =&gt; array( 'radius' =&gt; '8px' ) ) \n\t\t\t\t\t\t) \n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t), \n\t\t\tarray( 'core\/column',\n\t\t\t\tarray( 'verticalAlignment'\t=&gt; 'center' ),\n\t\t\t\tarray(\n\t\t\t\t\tarray( 'core\/heading', array(\n\t\t\t\t\t\t'placeholder'\t=&gt; 'Add H3...',\n\t\t\t\t\t\t'level'\t\t\t=&gt; 3\n\t\t\t\t\t) ),\n\t\t\t\t\tarray( 'core\/paragraph', array(\n\t\t\t\t\t\t'placeholder'\t=&gt; 'Add paragraph...'\n\t\t\t\t\t) )\n\t\t\t\t) \n\t\t\t)\n\t\t)\n\t)\n);<\/code><\/pre>\n<h3>Bloccare i blocchi<\/h3>\n<p>Possiamo bloccare blocchi specifici o tutti i blocchi compresi nel nostro template utilizzando la propriet\u00e0 <code>template_lock<\/code> dell&#8217;oggetto <code>$post_type_object<\/code>.<\/p>\n<p>Bloccare i template pu\u00f2 essere molto utile quando si ha un blog con pi\u00f9 autori e si vuole impedire a tutti o a determinati utenti di modificare il layout del block template.<\/p>\n<p>Nell&#8217;esempio che segue, blocchiamo tutti i blocchi del block template:<\/p>\n<pre><code class=\"language-php\">function myplugin_register_my_block_template() {\n\t$post_type_object = get_post_type_object( 'post' );\n\t$post_type_object-&gt;template = array(\n\t\tarray( 'core\/image' ),\n\t\tarray( 'core\/heading' ),\n\t\tarray( 'core\/paragraph' )\n\t);\n\t$post_type_object-&gt;template_lock = 'all';\n}\nadd_action( 'init', 'myplugin_register_my_block_template' );<\/code><\/pre>\n<p>I blocchi bloccati mostrano un&#8217;icona a forma di lucchetto nella barra degli strumenti e nell&#8217;elenco dei blocchi:<\/p>\n<figure id=\"attachment_161430\" aria-describedby=\"caption-attachment-161430\" style=\"width: 1798px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161430\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/locked-block.jpg\" alt=\"Un blocco intestazione bloccato\" width=\"1798\" height=\"1050\"><figcaption id=\"caption-attachment-161430\" class=\"wp-caption-text\">Un blocco intestazione bloccato<\/figcaption><\/figure>\n<p>Gli utenti possono sbloccare i blocchi dal menu Opzioni disponibile nella barra degli strumenti dei blocchi.<\/p>\n<figure id=\"attachment_161431\" aria-describedby=\"caption-attachment-161431\" style=\"width: 1368px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161431\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/unlock-block.jpg\" alt=\"Sbloccare un blocco\" width=\"1368\" height=\"1120\"><figcaption id=\"caption-attachment-161431\" class=\"wp-caption-text\">Sbloccare un blocco<\/figcaption><\/figure>\n<p>Cliccando su <strong>Sblocca<\/strong>, un popup modale permette di abilitare\/disabilitare il movimento, impedire la rimozione o entrambe le cose:<\/p>\n<figure id=\"attachment_161433\" aria-describedby=\"caption-attachment-161433\" style=\"width: 1368px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161433\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/unlock-block-2.jpg\" alt=\"Opzioni di blocco\" width=\"1368\" height=\"1120\"><figcaption id=\"caption-attachment-161433\" class=\"wp-caption-text\">Opzioni di blocco<\/figcaption><\/figure>\n<p><code>template_lock<\/code> pu\u00f2 assumere uno dei <a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/block-api\/block-templates\/#locking\" target=\"_blank\" rel=\"noopener noreferrer\">seguenti valori<\/a>:<\/p>\n<ul>\n<li><code>all<\/code>: impedisce agli utenti di aggiungere nuovi blocchi, spostare e rimuovere blocchi esistenti<\/li>\n<li><code>insert<\/code>: impedisce agli utenti di aggiungere nuovi blocchi e di rimuovere quelli esistenti.<\/li>\n<li><code>contentOnly<\/code>: gli utenti possono modificare solo il contenuto dei blocchi inclusi nel modello. Si noti che <code>contentOnly<\/code> pu\u00f2 essere utilizzato solo a livello di pattern o di template e deve essere gestito con il codice (si veda anche <a href=\"https:\/\/developer.wordpress.org\/block-editor\/how-to-guides\/curating-the-editor-experience\/#locking-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Locking APIs<\/a>).<\/li>\n<\/ul>\n<figure id=\"attachment_161435\" aria-describedby=\"caption-attachment-161435\" style=\"width: 2370px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161435\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/prevent-removal.jpg\" alt=\"Impostazione di template_lock per impedire la rimozione dei blocchi del template\" width=\"2370\" height=\"1410\"><figcaption id=\"caption-attachment-161435\" class=\"wp-caption-text\">Impostazione di template_lock per impedire la rimozione dei blocchi del template<\/figcaption><\/figure>\n<p>Se desideriamo bloccare dei blocchi specifici, possiamo utilizzare l&#8217;attributo <code>lock<\/code> per ogni blocco:<\/p>\n<pre><code class=\"language-php\">function myplugin_register_my_block_template() {\n\t$post_type_object = get_post_type_object( 'post' );\n\t$post_type_object-&gt;template = array(\n\t\tarray( 'core\/image' ),\n\t\tarray( 'core\/heading' ),\n\t\tarray( 'core\/paragraph', array(\n\t\t\t'lock' =&gt; array(\n\t\t\t\t'remove'\t=&gt; true,\n\t\t\t\t'move'\t\t=&gt; true\n\t\t\t)\n\t\t) )\n\t);\n}\nadd_action( 'init', 'myplugin_register_my_block_template' );<\/code><\/pre>\n<p>L&#8217;attributo <code>lock<\/code> pu\u00f2 assumere uno dei <a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/block-api\/block-templates\/#individual-block-locking\" target=\"_blank\" rel=\"noopener noreferrer\">seguenti valori<\/a>:<\/p>\n<ul>\n<li><code>remove<\/code>: impedisce agli utenti di rimuovere un blocco.<\/li>\n<li><code>move<\/code>: impedisce agli utenti di spostare un blocco.<\/li>\n<\/ul>\n<p>Possiamo anche utilizzare <code>lock<\/code> insieme a <code>template_lock<\/code> per regolare il comportamento dei blocchi inclusi nel block template. Nell&#8217;esempio che segue, blocchiamo tutti i blocchi tranne l&#8217;intestazione:<\/p>\n<pre><code class=\"language-php\">function myplugin_register_my_block_template() {\n\t$post_type_object = get_post_type_object( 'post' );\n\t$post_type_object-&gt;template = array(\n\t\tarray( 'core\/image' ),\n\t\tarray( 'core\/heading', array(\n\t\t\t'lock' =&gt; array(\n\t\t\t\t'remove'\t=&gt; false,\n\t\t\t\t'move'\t\t=&gt; false\n\t\t\t) \n\t\t) ),\n\t\tarray( 'core\/paragraph' )\n\t);\n\t$post_type_object-&gt;template_lock = 'all';\n}\nadd_action( 'init', 'myplugin_register_my_block_template' );<\/code><\/pre>\n<p>L&#8217;immagine qui sotto mostra il block template con i blocchi bloccati e sbloccati:<\/p>\n<figure id=\"attachment_161437\" aria-describedby=\"caption-attachment-161437\" style=\"width: 1800px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161437\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/unlocked-heading.jpg\" alt=\"Un block template con blocchi bloccati e sbloccati\" width=\"1800\" height=\"1080\"><figcaption id=\"caption-attachment-161437\" class=\"wp-caption-text\">Un block template con blocchi bloccati e sbloccati<\/figcaption><\/figure>\n<p>Gli sviluppatori di blocchi possono anche utilizzare l&#8217;attributo <code>lock<\/code> nella definizione del blocco al livello <code>attributes<\/code> (si veda anche <a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/block-api\/block-templates\/#individual-block-locking\" target=\"_blank\" rel=\"noopener noreferrer\">Individual block locking<\/a>).<\/p>\n<h3>Impedire agli utenti di sbloccare i blocchi<\/h3>\n<p>Se avete testato il codice descritto finora nell&#8217;articolo, vi sarete reso conto che potete sbloccare i blocchi inclusi nel template (o qualsiasi altro blocco) dall&#8217;interfaccia dell&#8217;editor. Di default, tutti gli utenti con accesso all&#8217;editing possono bloccare o sbloccare i blocchi e, in questo modo, bypassare le impostazioni del template.<\/p>\n<p>\u00c8 possibile controllare se i blocchi possono essere bloccati o sbloccati utilizzando il filtro <a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/filters\/editor-filters\/#block_editor_settings_all\" target=\"_blank\" rel=\"noopener noreferrer\"><code>block_editor_settings_all<\/code><\/a>.<\/p>\n<blockquote><p><em>Il filtro invier\u00e0 qualsiasi impostazione all&#8217;editor inizializzato, il che significa che qualsiasi impostazione utilizzata per configurare l&#8217;editor all&#8217;inizializzazione pu\u00f2 essere filtrata da un plugin PHP di WordPress prima di essere inviata.<\/em><\/p><\/blockquote>\n<p>La funzione di callback che utilizziamo con questo filtro prende due parametri:<\/p>\n<ul>\n<li><code>$settings<\/code>: un array di impostazioni dell&#8217;editor.<\/li>\n<li><code>$context<\/code>: un&#8217;istanza della classe <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_block_editor_context\/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>WP_Block_Editor_Context<\/code><\/a>, un oggetto che contiene informazioni sull&#8217;editor di blocchi in fase di rendering.<\/li>\n<\/ul>\n<p>Quello che bisogna fare \u00e8 filtrare <code>$settings['canLockBlocks']<\/code> impostandolo su <code>true<\/code> o <code>false<\/code> come mostrato nel seguente esempio:<\/p>\n<pre><code class=\"language-php\">add_filter( 'block_editor_settings_all', \n\tfunction( $settings, $context ) {\n\t\tif ( $context-&gt;post && 'book' === $context-&gt;post-&gt;post_type ) {\n\t\t\t$settings['canLockBlocks'] = false;\n\t\t}\n\t\treturn $settings;\n\t}, 10, 2\n);<\/code><\/pre>\n<p>Possiamo escludere determinati ruoli utente dal blocco\/sblocco dei blocchi eseguendo un controllo condizionale sulle <a href=\"https:\/\/kinsta.com\/it\/blog\/ruoli-utente-wordpress\/\">capacit\u00e0 dell&#8217;utente<\/a> corrente.<\/p>\n<p>Nel prossimo esempio, verifichiamo se l&#8217;<a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/current_user_can\/\" target=\"_blank\" rel=\"noopener noreferrer\">utente corrente<\/a> pu\u00f2 modificare i post degli altri (in altre parole, se il ruolo dell&#8217;utente corrente \u00e8 Editor o superiore):<\/p>\n<pre><code class=\"language-php\">add_filter( 'block_editor_settings_all', \n\tfunction( $settings, $context ) {\n\t\tif ( $context-&gt;post && 'book' === $context-&gt;post-&gt;post_type ) {\n\t\t\t$settings['canLockBlocks'] = current_user_can( 'edit_others_posts' );\n\t\t}\n\t\treturn $settings;\n\t}, 10, 2\n);<\/code><\/pre>\n<p>Le immagini che seguono mettono a confronto lo stato iniziale dell&#8217;editor per un amministratore e un autore. In primo luogo, Admin:<\/p>\n<figure id=\"attachment_161440\" aria-describedby=\"caption-attachment-161440\" style=\"width: 2124px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161440\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/initial-state-for-admin.jpg\" alt=\"Lo stato iniziale dell'editor per un utente Admin\" width=\"2124\" height=\"1388\"><figcaption id=\"caption-attachment-161440\" class=\"wp-caption-text\">Lo stato iniziale dell&#8217;editor per un utente Admin<\/figcaption><\/figure>\n<p>Ora, Autore:<\/p>\n<figure id=\"attachment_161442\" aria-describedby=\"caption-attachment-161442\" style=\"width: 2126px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161442\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/initial-state-for-author.jpg\" alt=\"Lo stato iniziale dell'editor per un Autore\" width=\"2126\" height=\"1378\"><figcaption id=\"caption-attachment-161442\" class=\"wp-caption-text\">Lo stato iniziale dell&#8217;editor per un Autore<\/figcaption><\/figure>\n<p>E possiamo verificare qualsiasi condizione sull&#8217;utente corrente. In questo altro esempio, stiamo <a href=\"https:\/\/make.wordpress.org\/core\/2022\/05\/05\/block-locking-settings-in-wordpress-6-0\/\" target=\"_blank\" rel=\"noopener noreferrer\">impedendo a un utente specifico<\/a> di bloccare\/sbloccare i blocchi:<\/p>\n<pre><code class=\"language-php\">add_filter( 'block_editor_settings_all', \n\tfunction( $settings, $context ) {\n\t\t$user = wp_get_current_user();\n\t\tif ( in_array( $user-&gt;user_email, [ 'email@example.com' ], true ) ) {\n\t\t\t$settings['canLockBlocks'] = false;\n\t\t}\n\t\treturn $settings;\n\t}, 10, 2\n);<\/code><\/pre>\n<p>Possiamo combinare pi\u00f9 condizioni per avere un controllo granulare su chi pu\u00f2 bloccare\/sbloccare i blocchi nel template e chi no. Questo \u00e8 un aspetto della cosiddetta <a href=\"https:\/\/make.wordpress.org\/core\/2022\/02\/09\/core-editor-improvement-curated-experiences-with-locking-apis-theme-json\/\" target=\"_blank\" rel=\"noopener noreferrer\">esperienza curata<\/a>.<\/p>\n<p>Un attimo&#8230; Avete provato a modificare il contenuto del post utilizzando l&#8217;editor di codice? Potreste rimanere sorpresi nel vedere che gli utenti non autorizzati a sbloccare i blocchi dall&#8217;interfaccia utente possono comunque modificare il contenuto dall&#8217;editor di codice.<\/p>\n<h3>Disabilitare l&#8217;editor di codice per specifici ruoli utente<\/h3>\n<p>Di defailt, tutti gli utenti che possono modificare i contenuti possono accedere all&#8217;editor del codice. Questo potrebbe annullare le impostazioni del blocco e alcuni utenti potrebbero rovinare o cancellare il layout del template.<\/p>\n<p>Ma abbiamo a disposizione un altro strumento. <code>block_editor_settings_all<\/code> permette di filtrare l&#8217;impostazione <a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/filters\/editor-filters\/#codeeditingenabled\" target=\"_blank\" rel=\"noopener noreferrer\"><code>codeEditingEnabled<\/code><\/a> per impedire a ruoli specifici di accedere all&#8217;editor di codice:<\/p>\n<pre><code class=\"language-php\">add_filter( 'block_editor_settings_all', \n\tfunction( $settings, $context ) {\n\t\tif ( $context-&gt;post && 'book' === $context-&gt;post-&gt;post_type ) {\n\t\t\t$settings['canLockBlocks'] = current_user_can( 'edit_others_posts' );\n\t\t\t$settings['codeEditingEnabled'] = current_user_can( 'edit_others_posts' );\n\t\t}\n\t\treturn $settings;\n\t}, 10, 2\n);<\/code><\/pre>\n<p>Con questo codice, gli utenti che non possono <code>edit_others_posts<\/code> (modificare i post di altri utenti) non potranno accedere all&#8217;editor di codice. L&#8217;immagine che segue mostra la barra delle opzioni di un autore.<\/p>\n<figure id=\"attachment_161825\" aria-describedby=\"caption-attachment-161825\" style=\"width: 2128px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161825\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/options-toolbar-without-code-editor-access.jpg\" alt=\"La barra degli strumenti Opzioni per un ruolo utente senza accesso all'editor di codice\" width=\"2128\" height=\"1202\"><figcaption id=\"caption-attachment-161825\" class=\"wp-caption-text\">La barra degli strumenti Opzioni per un ruolo utente senza accesso all&#8217;editor di codice<\/figcaption><\/figure>\n<p>Questo \u00e8 tutto ci\u00f2 che c&#8217;\u00e8 da sapere per creare un block template tramite PHP. Ora, uno sviluppatore di blocchi Gutenberg che ami lavorare con <a href=\"https:\/\/kinsta.com\/javascript\/\">JavaScript<\/a>, potrebbe optare per un approccio diverso.<\/p>\n<h2>Come costruire un template utilizzando JavaScript<\/h2>\n<p>Aggiungere un block template a un post \u00e8 diverso se decidiamo di utilizzare JavaScript. Possiamo comunque creare un template, ma per farlo bisogna creare un blocco personalizzato e utilizzare il componente <code>InnerBlocks<\/code> come descritto nella nostra <a href=\"https:\/\/kinsta.com\/it\/blog\/blocchi-gutenberg\/#innerblocks-component\">guida allo sviluppo dei blocchi di Gutenberg<\/a>.<\/p>\n<blockquote><p><em>InnerBlocks esporta una coppia di componenti che possono essere utilizzati nelle implementazioni dei blocchi per abilitare i contenuti dei blocchi annidati.<\/em> &#8211; Fonte: <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/blob\/HEAD\/packages\/block-editor\/src\/components\/inner-blocks\/README.md\" target=\"_blank\" rel=\"noopener noreferrer\">InnerBlocks<\/a><\/p><\/blockquote>\n<p>Come funziona?<\/p>\n<p>Possiamo utilizzare <code>InnerBlocks<\/code> nei blocchi personalizzati come qualsiasi altro componente di Gutenberg.<\/p>\n<p>Per prima cosa, bisogna importarlo da un pacchetto insieme ad altre dipendenze:<\/p>\n<pre><code class=\"language-javascript\">import { registerBlockType } from '@wordpress\/blocks';\nimport { useBlockProps, InnerBlocks } from '@wordpress\/block-editor';<\/code><\/pre>\n<p>Poi bisogna definire le propriet\u00e0 di <code>InnerBlocks<\/code>. Nell&#8217;esempio che segue, dichiariamo una costante <code>TEMPLATE<\/code> che utilizziamo per impostare il valore della propriet\u00e0 <code>template<\/code> dell&#8217;elemento <code>InnerBlocks<\/code>:<\/p>\n<pre><code class=\"language-javascript\">const TEMPLATE = [\n\t[ 'core\/paragraph', { 'placeholder': 'Add paragraph...' } ],\n\t[ 'core\/columns', { verticalAlignment: 'center' }, \n\t\t[\n\t\t\t[ \n\t\t\t\t'core\/column', \n\t\t\t\t{ templateLock: 'all' }, \n\t\t\t\t[\n\t\t\t\t\t[ 'core\/image' ]\n\t\t\t\t]\n\t\t\t],\n\t\t\t[ \n\t\t\t\t'core\/column', \n\t\t\t\t{ templateLock: 'all' }, \n\t\t\t\t[\n\t\t\t\t\t[ \n\t\t\t\t\t\t'core\/heading', \n\t\t\t\t\t\t{'placeholder': 'Add H3...', 'level': 3}\n\t\t\t\t\t], \n\t\t\t\t\t[ \n\t\t\t\t\t\t'core\/paragraph', \n\t\t\t\t\t\t{'placeholder': 'Add paragraph...'} \n\t\t\t\t\t]\n\t\t\t\t], \n\t\t\t]\n\t\t]\n\t]\n];\nregisterBlockType( metadata.name, {\n\ttitle: 'My Template',\n\tcategory: 'widgets',\n\tedit: ( props ) =&gt; {\n\t\treturn(\n\t\t\t&lt;div&gt;\n\t\t\t\t&lt;InnerBlocks\n\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\ttemplateLock=\"insert\"\n\t\t\t\t\/&gt;\n\t\t\t&lt;\/div&gt;\n\t\t)\n\t},\n\tsave() {\n\t\tconst blockProps = useBlockProps.save();\n\t\treturn(\n\t\t\t&lt;div { ...blockProps }&gt;\n\t\t\t\t&lt;InnerBlocks.Content \/&gt;\n\t\t\t&lt;\/div&gt;\n\t\t)\n\t}\n} );<\/code><\/pre>\n<p>Il codice \u00e8 piuttosto semplice. Si dovrebbe notare che abbiamo utilizzato l&#8217;attributo <code>templateLock<\/code> due volte, prima a livello di blocco e poi all&#8217;interno dell&#8217;elemento <code>InnerBlocks<\/code>. Per l&#8217;elenco completo delle propriet\u00e0 disponibili, si legga la <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/blob\/HEAD\/packages\/block-editor\/src\/components\/inner-blocks\/README.md\" target=\"_blank\" rel=\"noopener noreferrer\">guida a <code>InnerBlocks<\/code><\/a> e il <a href=\"https:\/\/developer.wordpress.org\/block-editor\/how-to-guides\/block-tutorial\/nested-blocks-inner-blocks\/\" target=\"_blank\" rel=\"noopener noreferrer\">Manuale dell&#8217;editor di blocchi<\/a>.<\/p>\n<p>Ora provate voi.<\/p>\n<p>Per prima cosa, create un&#8217;installazione locale di WordPress utilizzando <a href=\"https:\/\/kinsta.com\/it\/devkinsta\/caratteristiche\/\">DevKinsta<\/a> o qualsiasi altro <a href=\"https:\/\/kinsta.com\/local-development\/\">ambiente di sviluppo locale<\/a>.<\/p>\n<p>Quindi, lanciate il vostro strumento a riga di comando preferito, navigate nella cartella <strong>plugins<\/strong> ed eseguite il seguente comando:<\/p>\n<pre><code class=\"language-bash\">npx @wordpress\/create-block template-block<\/code><\/pre>\n<p>Potete cambiare il nome del blocco come desiderate. Se preferite controllare ogni aspetto del blocco iniziale, seguite le istruzioni della nostra <a href=\"https:\/\/kinsta.com\/it\/blog\/blocchi-gutenberg\/#set-up-the-plugin\">guida definitiva allo sviluppo dei blocchi<\/a>.<\/p>\n<p>Una volta completata l&#8217;installazione, esegui questi comandi:<\/p>\n<pre><code class=\"language-bash\">cd template-block\nnpm start<\/code><\/pre>\n<p>Aprite la <a href=\"https:\/\/kinsta.com\/it\/blog\/amministrazione-wordpress\/\">bacheca di WordPress<\/a> e andate alla schermata dei <strong>plugin<\/strong>. Trovate e attiva il plugin <strong>Template Block<\/strong>.<\/p>\n<p>Nel vostro <a href=\"https:\/\/kinsta.com\/it\/blog\/editor-html-gratuiti\/\">editor di codice<\/a> preferito, aprite il file <strong>index.js<\/strong> che trovate nella cartella <strong>src<\/strong>. Copiate e incollate il codice qui sopra, salvate il file <strong>index.js<\/strong> e, nella bacheca di WordPress, create un nuovo post o una nuova pagina.<\/p>\n<p>Aprite il pannello di inserimento dei blocchi e scorrete fino alla sezione <strong>Widget<\/strong>. L\u00ec dovreste trovare il vostro blocco personalizzato.<\/p>\n<figure id=\"attachment_161826\" aria-describedby=\"caption-attachment-161826\" style=\"width: 2260px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161826\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/my-template-block-1.jpg\" alt=\"Un blocco personalizzato nel pannello di inserimento dei blocchi\" width=\"2260\" height=\"1410\"><figcaption id=\"caption-attachment-161826\" class=\"wp-caption-text\">Un blocco personalizzato nel pannello di inserimento dei blocchi<\/figcaption><\/figure>\n<p>Aggiungetelo al post, personalizzate il contenuto e salvate il post.<\/p>\n<figure id=\"attachment_161827\" aria-describedby=\"caption-attachment-161827\" style=\"width: 2258px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-161827\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/template-in-list-view-1.jpg\" alt=\"Vista elenco di un template custom\" width=\"2258\" height=\"936\"><figcaption id=\"caption-attachment-161827\" class=\"wp-caption-text\">Vista elenco di un template custom<\/figcaption><\/figure>\n<p>Se passate all&#8217;editor di codice, vedrete il seguente markup:<\/p>\n<pre><code class=\"language-markup\">&lt;!-- wp:create-block\/template-block --&gt;\n&lt;div class=\"wp-block-create-block-template-block\"&gt;&lt;!-- wp:paragraph {\"placeholder\":\"Add paragraph...\"} --&gt;\n&lt;p&gt;&lt;\/p&gt;\n&lt;!-- \/wp:paragraph --&gt;\n\n&lt;!-- wp:columns {\"verticalAlignment\":\"center\"} --&gt;\n&lt;div class=\"wp-block-columns are-vertically-aligned-center\"&gt;&lt;!-- wp:column {\"templateLock\":\"all\"} --&gt;\n&lt;div class=\"wp-block-column\"&gt;&lt;!-- wp:image --&gt;\n&lt;figure class=\"wp-block-image\"&gt;&lt;img alt=\"\"\/&gt;&lt;\/figure&gt;\n&lt;!-- \/wp:image --&gt;&lt;\/div&gt;\n&lt;!-- \/wp:column --&gt;\n\n&lt;!-- wp:column {\"templateLock\":\"all\"} --&gt;\n&lt;div class=\"wp-block-column\"&gt;&lt;!-- wp:heading {\"level\":3,\"placeholder\":\"Add H3...\"} --&gt;\n&lt;h3 class=\"wp-block-heading\"&gt;&lt;\/h3&gt;\n&lt;!-- \/wp:heading --&gt;\n\n&lt;!-- wp:paragraph {\"placeholder\":\"Add paragraph...\"} --&gt;\n&lt;p&gt;&lt;\/p&gt;\n&lt;!-- \/wp:paragraph --&gt;&lt;\/div&gt;\n&lt;!-- \/wp:column --&gt;&lt;\/div&gt;\n&lt;!-- \/wp:columns --&gt;&lt;\/div&gt;\n&lt;!-- \/wp:create-block\/template-block --&gt;<\/code><\/pre>\n<p>Ora visualizzate l&#8217;anteprima del risultato nel vostro <a href=\"https:\/\/kinsta.com\/browsers\/\">browser preferito<\/a>. Se l&#8217;aspetto del blocco deve essere migliorato, basta modificare gli stili nel file <strong>style.scss<\/strong>.<\/p>\n<p>Quando sarete soddisfatti delle vostre personalizzazioni, interrompete il processo ed eseguite <code>npm run build<\/code>. Tutti i file del progetto saranno compressi e disponibili per la produzione nella nuova cartella <strong>build<\/strong>.<\/p>\n<p>Facile e potente!<\/p>\n<p>Ora potete creare template avanzati di blocchi da inserire nei contenuti con pochi clic.<\/p>\n<h2>Riepilogo<\/h2>\n<p>Aggiungendo un block template ai post o ai custom post type di WordPress pu\u00f2 accelerare e migliorare notevolmente l&#8217;esperienza di creazione e di editing del sito. I block template sono utili soprattutto nei siti multiutente, dove pi\u00f9 utenti sono abilitati a creare contenuti ed \u00e8 necessario che rispettino lo stesso formato.<\/p>\n<p>Questo permette anche di creare layout uniformi senza dover aggiungere manualmente un block pattern ogni volta che si crea un nuovo post. Si pensi a un sito di recensioni o di ricette, dove ogni pagina deve rispettare la stessa struttura.<\/p>\n<p>Combinando le conoscenze acquisite nella creazione di blocchi personalizzati <a href=\"https:\/\/kinsta.com\/it\/blog\/blocchi-gutenberg\/\">statici<\/a> o <a href=\"https:\/\/kinsta.com\/it\/blog\/blocchi-dinamici\/\">dinamici<\/a>, <a href=\"https:\/\/kinsta.com\/it\/blog\/block-pattern-wordpress\/\">block pattern<\/a> e block template, ora siete in grado di individuare sempre la soluzione pi\u00f9 efficiente ed efficace per realizzare qualsiasi tipo di sito WordPress.<\/p>\n<p>Ora a voi. Avete gi\u00e0 esplorato i block template? In quale caso li trovate pi\u00f9 adatti? Condividete le vostre esperienze nei commenti qui sotto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nell&#8217;era di Gutenberg, il lavoro di progettazione non \u00e8 strettamente legato ai temi di WordPress. Il CMS fornisce agli utenti tutti gli strumenti di design necessari &#8230;<\/p>\n","protected":false},"author":36,"featured_media":72839,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[25641,79,12424],"topic":[25873],"class_list":["post-72838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-block-editor","tag-gutenberg","tag-sviluppatori-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>Come creare i block template di WordPress - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Scopri come creare i block template di WordPress, layout di blocchi caricati automaticamente nell&#039;editor di blocchi.\" \/>\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\/block-template-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come creare i block template di WordPress\" \/>\n<meta property=\"og:description\" content=\"Scopri come creare i block template di WordPress, layout di blocchi caricati automaticamente nell&#039;editor di blocchi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/block-template-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=\"2023-09-04T14:16:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-05T13:41:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.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=\"Carlo Daniele\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Scopri come creare i block template di WordPress, layout di blocchi caricati automaticamente nell&#039;editor di blocchi.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@carlodaniele\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Daniele\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/\"},\"author\":{\"name\":\"Carlo Daniele\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\"},\"headline\":\"Come creare i block template di WordPress\",\"datePublished\":\"2023-09-04T14:16:03+00:00\",\"dateModified\":\"2023-09-05T13:41:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/\"},\"wordCount\":2366,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg\",\"keywords\":[\"Block Editor\",\"Gutenberg\",\"sviluppatori WordPress\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/\",\"name\":\"Come creare i block template di WordPress - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg\",\"datePublished\":\"2023-09-04T14:16:03+00:00\",\"dateModified\":\"2023-09-05T13:41:21+00:00\",\"description\":\"Scopri come creare i block template di WordPress, layout di blocchi caricati automaticamente nell'editor di blocchi.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#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\":\"Come creare i block template di WordPress\"}]},{\"@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\/962dde02ea6f5df089b5d8d0853bbc63\",\"name\":\"Carlo Daniele\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g\",\"caption\":\"Carlo Daniele\"},\"description\":\"Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.\",\"sameAs\":[\"https:\/\/frammentidicodice.com\/\",\"https:\/\/x.com\/carlodaniele\"],\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/carlodaniele\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Come creare i block template di WordPress - Kinsta\u00ae","description":"Scopri come creare i block template di WordPress, layout di blocchi caricati automaticamente nell'editor di blocchi.","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\/block-template-wordpress\/","og_locale":"it_IT","og_type":"article","og_title":"Come creare i block template di WordPress","og_description":"Scopri come creare i block template di WordPress, layout di blocchi caricati automaticamente nell'editor di blocchi.","og_url":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2023-09-04T14:16:03+00:00","article_modified_time":"2023-09-05T13:41:21+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg","type":"image\/jpeg"}],"author":"Carlo Daniele","twitter_card":"summary_large_image","twitter_description":"Scopri come creare i block template di WordPress, layout di blocchi caricati automaticamente nell'editor di blocchi.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg","twitter_creator":"@carlodaniele","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Carlo Daniele","Tempo di lettura stimato":"17 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/"},"author":{"name":"Carlo Daniele","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63"},"headline":"Come creare i block template di WordPress","datePublished":"2023-09-04T14:16:03+00:00","dateModified":"2023-09-05T13:41:21+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/"},"wordCount":2366,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg","keywords":["Block Editor","Gutenberg","sviluppatori WordPress"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/","url":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/","name":"Come creare i block template di WordPress - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg","datePublished":"2023-09-04T14:16:03+00:00","dateModified":"2023-09-05T13:41:21+00:00","description":"Scopri come creare i block template di WordPress, layout di blocchi caricati automaticamente nell'editor di blocchi.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/09\/wordpress-block-templates.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/block-template-wordpress\/#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":"Come creare i block template di WordPress"}]},{"@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\/962dde02ea6f5df089b5d8d0853bbc63","name":"Carlo Daniele","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g","caption":"Carlo Daniele"},"description":"Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.","sameAs":["https:\/\/frammentidicodice.com\/","https:\/\/x.com\/carlodaniele"],"url":"https:\/\/kinsta.com\/it\/blog\/author\/carlodaniele\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/72838","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\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=72838"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/72838\/revisions"}],"predecessor-version":[{"id":72889,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/72838\/revisions\/72889"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72838\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72838\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72838\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72838\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72838\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72838\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72838\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72838\/translations\/fr"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72838\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/72839"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=72838"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=72838"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=72838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}