{"id":83376,"date":"2026-02-27T11:01:39","date_gmt":"2026-02-27T10:01:39","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=83376&#038;preview=true&#038;preview_id=83376"},"modified":"2026-03-05T08:35:50","modified_gmt":"2026-03-05T07:35:50","slug":"template-blade-wordpress-radicle","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/","title":{"rendered":"Creare template con Blade in WordPress: sviluppo di template moderni con Radicle su Kinsta"},"content":{"rendered":"<p>Lo sviluppo tradizionale di un tema WordPress si basa sulla ripetizione del markup dell&#8217;header e del footer nei vari file di template. Ogni volta che aggiorni un menu di navigazione o un elemento del footer, devi individuare tutti i file di template che includono il markup e apportare le modifiche necessarie in pi\u00f9 posizioni. Questo crea costi di manutenzione eccessivi e aumenta il rischio di incongruenze nel sito.<\/p>\n<p><a href=\"https:\/\/roots.io\/radicle\/\" target=\"_blank\" rel=\"noopener noreferrer\">Radicle<\/a> porta il <a href=\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/\">motore di template Blade di Laravel<\/a> su WordPress grazie all&#8217;architettura basata su componenti di <a href=\"https:\/\/roots.io\/acorn\/\" target=\"_blank\" rel=\"noopener noreferrer\">Acorn<\/a>. Invece di sparpagliare il markup nei file di template, definisci i componenti riutilizzabili una sola volta e fai riferimento ad essi in tutto il tuo tema. Quando devi aggiornare un elemento dell&#8217;interfaccia utente, basta modificare un singolo file di componente invece di cercare tra decine di template.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Per seguire questo post devi avere una conoscenza di base dei <a href=\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/\">template Blade<\/a>, Acorn e <a href=\"https:\/\/kinsta.com\/it\/blog\/sviluppo-wordpress-radicle\/\">Radicle<\/a>. Kinsta offre guide per l&#8217;installazione e la configurazione di tutti questi strumenti.<\/p>\n<\/aside>\n\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Perch\u00e9 lo sviluppo di template WordPress ha bisogno di un&#8217;architettura basata sui componenti<\/h2>\n<p>WordPress memorizza i template in una struttura di directory di temi in cui <code>header.php<\/code> e <code>footer.php<\/code> appaiono in ogni template di pagina attraverso le chiamate <code>get_header()<\/code> e <code>get_footer()<\/code>. Questo sistema funziona per i siti di base, ma causa problemi quando si tratta di scalare su progetti complessi.<\/p>\n<p>Ad esempio, un sito con <a href=\"https:\/\/kinsta.com\/it\/blog\/custom-post-type-wordpress\/\">tipi di post personalizzati<\/a>, landing page e template di marketing include lo stesso markup di navigazione, la stessa struttura del footer e gli stessi elementi della barra laterale in ogni file di template. Questa disposizione obbliga a cercare tra pi\u00f9 file di template per aggiungere una nuova voce di menu o aggiornare un modulo di contatto nel footer.<\/p>\n<p>Radicle organizza i template Blade in <code>resources\/views\/<\/code> con directory separate per i layout, i componenti e i blocchi:<\/p>\n<ul>\n<li><code>components<\/code>. Questa directory include elementi UI autonomi come intestazioni e pulsanti.<\/li>\n<li><code>layouts<\/code>. Questa contiene i template strutturali che definiscono l&#8217;impalcatura della pagina.<\/li>\n<li><code>blocks.<\/code> Qui vengono archiviati i <a href=\"https:\/\/kinsta.com\/it\/blog\/temi-a-blocchi-wordpress\/\">template di blocco<\/a> che si integrano con l&#8217;editor del sito WordPress.<\/li>\n<\/ul>\n<p>Questa organizzazione crea un&#8217;unica fonte per ogni elemento dell&#8217;interfaccia utente. Un componente <code>x-heading<\/code> definisce il markup e lo stile dell&#8217;header in un&#8217;unica posizione. Quindi, utilizzando questo componente in tutti i template, Blade fa riferimento alla singola definizione. Per estensione, l&#8217;aggiornamento del componente aggiorna ogni istanza del sito.<\/p>\n<h2>Come costruire layout primari che eliminano il codice duplicato<\/h2>\n<p>Invece di duplicare il markup della navigazione e del footer, puoi utilizzare l&#8217;ereditariet\u00e0 dei template per creare un layout principale che definisca la struttura del sito.<\/p>\n<p>Un layout inizia con un file componente Blade in <code>resources\/views\/components\/<\/code>. Il file <code>layout.blade.php<\/code> definisce la struttura HTML che avvolge il contenuto della pagina. Include la sezione <code>doctype<\/code>, la sezione dell&#8217;head con i meta tag e i riferimenti alle risorse, la struttura di navigazione e gli elementi del footer. L&#8217;elemento chiave di un layout \u00e8 la variabile <code>$slot<\/code>, che Blade utilizza come punto di iniezione del contenuto.<\/p>\n<pre><code class=\"language-html\">&lt;html&gt;\n&lt;head&gt;\n    &lt;title&gt;{{ $title ?? 'My Site' }}&lt;\/title&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n    &lt;nav&gt;\n        &lt;!-- Navigation markup --&gt;<!-- Navigation markup -->\n    &lt;\/nav&gt;\n\n    &lt;main&gt;\n        {{ $slot }}\n    &lt;\/main&gt;\n\n    &lt;footer&gt;\n        \u00a0&lt;!-- Footer markup --&gt;<!-- Footer markup -->\n    &lt;\/footer&gt;\n\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/code><\/pre>\n<p>I template child estendono questo layout utilizzando la sintassi dei componenti di Blade. Un template di pagina avvolge il suo contenuto nei tag del componente <code>x-layout<\/code>. Blade elabora il tutto eseguendo il rendering del componente di layout e iniettando il contenuto child dove appare la variabile <code>$slot<\/code>:<\/p>\n<pre><code class=\"language-html\">&lt;x-layout&gt;\n    &lt;h1&gt;Page Title&lt;\/h1&gt;\n    &lt;p&gt;Page content goes here.&lt;\/p&gt;\n&lt;\/x-layout&gt;\n<\/code><\/pre>\n<p>Gli slot denominati forniscono ulteriori punti di iniezione per i contenuti dinamici (come i titoli delle pagine). Invece di accettare uno slot predefinito, puoi definire degli slot specifici con dei nomi. Il componente <code>x-slot<\/code> con l&#8217;attributo <code>name<\/code> passa il contenuto in queste posizioni designate:<\/p>\n<pre><code class=\"language-html\">&lt;x-layout&gt;\n    &lt;x-slot name=\"title\"&gt;\n        Custom Page Title\n    &lt;\/x-slot&gt;\n\n    &lt;h1&gt;Page Heading&lt;\/h1&gt;\n    &lt;p&gt;Page content.&lt;\/p&gt;\n&lt;\/x-layout&gt;\n<\/code><\/pre>\n<p>Il componente layout accede agli slot denominati attraverso le variabili che corrispondono ai nomi degli slot. In questo modo puoi iniettare il contenuto in pi\u00f9 posizioni del layout da un unico template child.<\/p>\n<h2>Creare componenti UI riutilizzabili per template di design coerenti<\/h2>\n<p>I componenti Blade centralizzano lo stile e il markup degli elementi comuni dell&#8217;interfaccia.<\/p>\n<p>Invece di scrivere il markup dei pulsanti con le <a href=\"https:\/\/kinsta.com\/it\/blog\/tailwind-css\/\">classi di Tailwind<\/a> in ogni template, puoi creare un componente pulsante che incapsula il markup. Il componente accetta &#8220;prop&#8221; per la personalizzazione, pur mantenendo uno stile di base coerente.<\/p>\n<p>L&#8217;utilizzo del componente <code>x-heading<\/code> con altri componenti tipografici ne \u00e8 un buon esempio. Accetta un oggetto <code>level<\/code> che determina l&#8217;elemento HTML (<code>h1<\/code>, <code>h2<\/code>, <code>h3<\/code>) e un oggetto <code>size<\/code> che controlla la scala visiva. Il componente mappa internamente questi prop in classi di Tailwind, in modo da mantenere separati i dettagli dell&#8217;implementazione.<\/p>\n<pre><code class=\"language-html\">&lt;x-heading level=\"h1\" size=\"3xl\"&gt;\n    Main Page Title\n&lt;\/x-heading&gt;\n\n&lt;x-heading level=\"h2\" size=\"2xl\"&gt;\n    Section Heading\n&lt;\/x-heading&gt;\n<\/code><\/pre>\n<p>Il file del componente in <code>resources\/views\/components\/heading.blade.php<\/code> definisce la logica di markup e styling utilizzando la direttiva <code>@props<\/code> di Blade per definire le propriet\u00e0 accettate e i loro valori predefiniti. Ogni componente costruisce l&#8217;elemento HTML appropriato con le classi basate sui valori delle propriet\u00e0.<\/p>\n<p>Un componente <code>x-link<\/code> segue lo stesso schema con il supporto di varianti per i diversi stili di link, mentre una variante di prop permette di passare dalle presentazioni predefinite, ai pulsanti e alle presentazioni senza stile.<\/p>\n<p>I componenti UI come <code>x-button<\/code> permettono di ottenere lo stesso risultato con gli elementi interattivi. Il componente <code>button<\/code> supporta le dimensioni e le varianti per i diversi stili dei pulsanti. Se lo combini con un framework come <a href=\"https:\/\/alpinejs.dev\/\" target=\"_blank\" rel=\"noopener noreferrer\">Alpine.js<\/a> attraverso il componente <code>x-modal<\/code>, puoi gestire le interazioni senza disperdere JavaScript nei template:<\/p>\n<pre><code class=\"language-html\">&lt;x-button variant=\"primary\" @click=\"showModal = true\"&gt;\n    Open Modal\n&lt;\/x-button&gt;\n\n&lt;x-modal x-show=\"showModal\"&gt;\n    &lt;p&gt;Modal content&lt;\/p&gt;\n&lt;\/x-modal&gt;\n<\/code><\/pre>\n<p>I prop funzionano bene per stringhe, booleani e altri dati semplici. Gli slot sono pi\u00f9 adatti per contenuti complessi che includono markup. Ad esempio, il componente <code>modal<\/code> utilizza uno slot predefinito per accettare il contenuto modale completo piuttosto che passare l&#8217;HTML attraverso un prop.<\/p>\n<h2>Collegare i dati di WordPress ai template Blade con i compositori di viste<\/h2>\n<p>I compositori di viste permettono di aggregare i dati da pi\u00f9 fonti prima di renderizzare un template. In questo caso, crei una classe <code>composer<\/code> che gestisce il recupero e la trasformazione dei dati piuttosto che interrogare i post direttamente nei template. Invece, il template riceve i dati strutturati da visualizzare.<\/p>\n<p>Il template <code>Post<\/code> di Radicle semplifica il lavoro con i dati dei post di WordPress utilizzando alcuni metodi diversi:<\/p>\n<ul>\n<li><code>title()<\/code> restituisce il titolo del post.<\/li>\n<li>Il metodo <code>content()<\/code> recupera il contenuto del post filtrato.<\/li>\n<li><code>excerpt()<\/code> accetta un conteggio di parole e genera un estratto.<\/li>\n<li><code>permalink()<\/code> restituisce l&#8217;URL del post.<\/li>\n<\/ul>\n<p>Per le immagini in evidenza, <code>hasThumbnail()<\/code> controlla se esiste un&#8217;immagine e <code>thumbnail()<\/code> recupera l&#8217;HTML dell&#8217;immagine con una dimensione specificata:<\/p>\n<pre><code class=\"language-php\">$post = Post::find(123);\necho $post-&gt;title();\necho $post-&gt;excerpt(30);\nif ($post-&gt;hasThumbnail()) {\n    echo $post-&gt;thumbnail('large');\n}\n<\/code><\/pre>\n<p>Le classi di compositori di viste si trovano in <code>app\/View\/Composers\/<\/code> ed estendono <code>RootsAcornViewComposer<\/code>. La classe definisce le viste a cui si applica attraverso la propriet\u00e0 statica protetta <code>$views<\/code>, che accetta un array di nomi di template. Per un compositore di prima pagina, \u00e8 necessario specificare <code>'front-page'<\/code> per puntare al template <code>front-page.blade.php<\/code>:<\/p>\n<pre><code class=\"language-php\">namespace AppViewComposers;\nuse AppModelsPost;\nuse RootsAcornViewComposer;\nclass FrontPage extends Composer\n\n{\n    protected static $views = ['front-page'];\n    public function with()\n    {\n        return [\n            'recentPosts' =&gt; Post::recent(6)-&gt;get(),\n            'totalPosts' =&gt; Post::published()-&gt;count(),\n        ];\n    }\n}\n<\/code><\/pre>\n<p>Il metodo <code>with()<\/code> restituisce un array in cui le chiavi diventano nomi di variabili nel template. I valori possono essere <a href=\"https:\/\/laravel.com\/docs\/11.x\/eloquent-collections\" target=\"_blank\" rel=\"noopener noreferrer\">collezioni Eloquent<\/a>, singoli template o qualsiasi struttura di dati. In ogni caso, questo metodo viene eseguito prima che qualsiasi template esegua il rendering e prepari i dati.<\/p>\n<p>Il template <code>front-page.blade.php<\/code> accede direttamente a queste variabili. La direttiva <code>@foreach<\/code> di Blade esegue un ciclo di post e ogni iterazione fornisce l&#8217;accesso ai metodi del template <code>Post<\/code>:<\/p>\n<pre><code class=\"language-php\">&lt;div class=\"posts-grid\"&gt;\n    @foreach ($recentPosts as $post)\n        &lt;article&gt;\n            @if ($post-&gt;hasThumbnail())\n                &lt;img src=\"{{ $post-&gt;thumbnail('medium') }}\" alt=\"{{ $post-&gt;title() }}\"&gt;\n            @endif\n\n            &lt;h2&gt;\n                &lt;a href=\"{{ $post-&gt;permalink() }}\"&gt;{{ $post-&gt;title() }}&lt;\/a&gt;\n            &lt;\/h2&gt;\n\n            &lt;p&gt;{{ $post-&gt;excerpt(20) }}&lt;\/p&gt;\n        &lt;\/article&gt;\n    @endforeach\n&lt;\/div&gt;\n&lt;p&gt;Total posts: {{ $totalPosts }}&lt;\/p&gt;\n<\/code><\/pre>\n<p>In questo schema, il compositore gestisce l&#8217;interrogazione e la trasformazione dei dati, mentre il template si concentra sul markup e sulla logica di visualizzazione. Per modificare la struttura dei dati o aggiungere nuove query, aggiorna il compositore senza toccare i file del template.<\/p>\n<h2>Blocchi di costruzione per l&#8217;editor di siti WordPress con rendering Blade<\/h2>\n<p>Radicle utilizza il rendering lato server per i blocchi dell&#8217;editor del sito attraverso i template Blade. Il componente editor JavaScript gestisce l&#8217;interfaccia del blocco nell&#8217;amministrazione di WordPress, mentre il template Blade gestisce l&#8217;output del frontend.<\/p>\n<p>In questo modo puoi creare interfacce per i blocchi con React (ad esempio) e allo stesso tempo eseguire il rendering dell&#8217;HTML di produzione con Blade.<\/p>\n<p>Il comando <code>wp acorn make:block<\/code> genera tre file per ogni blocco:<\/p>\n<ul>\n<li>Una classe PHP in <code>app\/Blocks\/<\/code> gestisce la logica lato server.<\/li>\n<li>Il componente JSX in <code>resources\/js\/editor\/<\/code> definisce l&#8217;interfaccia dell&#8217;editor del blocco.<\/li>\n<li>Il template Blade in <code>resources\/views\/blocks\/<\/code> rende l&#8217;output del frontend.<\/li>\n<\/ul>\n<p>Un comando <code>wp acorn make:block latest-posts<\/code> crea <code>LatestPosts.php<\/code>, <code>latest-posts.block.jsx<\/code> e <code>latest-posts.blade.php<\/code>. Il file JSX definisce gli attributi e i controlli dell&#8217;editor del blocco, mentre i blocchi dinamici utilizzano <code>InspectorControls<\/code> per aggiungere le impostazioni nella barra laterale del blocco. Si importano i controlli da <code>@wordpress\/components<\/code> e li si compone in un&#8217;interfaccia di impostazioni.<\/p>\n<pre><code class=\"language-php\">import { InspectorControls } from '@wordpress\/block-editor';\nimport { RangeControl, ToggleControl, RadioControl } from '@wordpress\/components';\nexport const attributes = {\n    posts: { type: 'number', default: 5 },\n    displayFeaturedImage: { type: 'boolean', default: false },\n    postLayout: { type: 'string', default: 'list' },\n};\n\nexport const edit = ({ attributes, setAttributes }) =&gt; {\n    return (\n        &lt;&gt;\n            &lt;InspectorControls&gt;\n                &lt;RangeControl\n                    label=\"Number of posts\"\n                    value={attributes.posts}\n                    onChange={(value) =&gt; setAttributes({ posts: value })}\n                    min={1}\n                    max={10}\n                \/&gt;\n                &lt;ToggleControl\n                    label=\"Display featured image\"\n                    checked={attributes.displayFeaturedImage}\n                    onChange={(value) =&gt; setAttributes({ displayFeaturedImage: value })}\n                \/&gt;\n                &lt;RadioControl\n                    label=\"Layout\"\n                    selected={attributes.postLayout}\n                    options={[\n                        { label: 'List', value: 'list' },\n                        { label: 'Grid', value: 'grid' },\n                    ]}\n                    onChange={(value) =&gt; setAttributes({ postLayout: value })}\n                \/&gt;\n            &lt;\/InspectorControls&gt;\n        &lt;\/&gt;\n    );\n};\n<\/code><\/pre>\n<p>Il filtro <code>render_block<\/code> in <code>BlocksServiceProvider.php<\/code> intercetta il rendering del blocco e passa gli attributi al template Blade. Riceve anche il contenuto del blocco e i dati del blocco. Controlla il nome del blocco, interroga i dati necessari e restituisce la vista Blade renderizzata:<\/p>\n<pre><code class=\"language-php\">add_filter('render_block', function ($block_content, $block) {\n    if ($block['blockName'] === 'radicle\/latest-posts') {\n        $attributes = $block['attrs'] ?? [];\n\n        $posts = get_posts([\n            'numberposts' =&gt; $attributes['posts'] ?? 5,\n            'post_status' =&gt; 'publish',\n        ]);\n\n        return view('blocks.latest-posts', [\n            'posts' =&gt; $posts,\n            'displayFeaturedImage' =&gt; $attributes['displayFeaturedImage'] ?? false,\n            'postLayout' =&gt; $attributes['postLayout'] ?? 'list',\n        ]);\n    }\n\n    return $block_content;\n}, 10, 2);\n<\/code><\/pre>\n<p>Il template Blade utilizza gli array PHP per gestire i layout condizionali. Qui definisci le configurazioni di layout come array annidati che mappano i nomi dei layout alle classi CSS e agli elementi HTML.<\/p>\n<pre><code class=\"language-php\">@php\n$layoutConfig = [\n    'grid' =&gt; [\n        'container' =&gt; 'grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6',\n        'element' =&gt; 'div',\n    ],\n    'list' =&gt; [\n        'container' =&gt; 'space-y-6',\n        'element' =&gt; 'div',\n    ],\n];\n$config = $layoutConfig[$postLayout];\n@endphp\n&lt;div class=\"{{ $config['container'] }}\"&gt;\n    @foreach ($posts as $post)\n        &lt;article&gt;\n            @if ($displayFeaturedImage && has_post_thumbnail($post))\n                {{ get_the_post_thumbnail($post, 'medium') }}\n            @endif\n\n            &lt;h3&gt;{{ $post-&gt;post_title }}&lt;\/h3&gt;\n        &lt;\/article&gt;\n    @endforeach\n&lt;\/div&gt;\n<\/code><\/pre>\n<p>Questo schema crea blocchi flessibili in cui i controlli dell&#8217;editor regolano l&#8217;output del frontend senza duplicare la logica del template: JavaScript gestisce l&#8217;interfaccia utente, PHP le query di dati e Blade la struttura del markup.<\/p>\n<h2>Come la cache di Kinsta aumenta le prestazioni delle viste compilate di Blade<\/h2>\n<p>La compilazione di Blade converte essenzialmente i template di <code>.blade.php<\/code> in semplice codice PHP. Dopo aver completato l&#8217;analisi completa del template e della sintassi di Blade, Blade salva un file compilato in <code>storage\/framework\/views\/<\/code>. Questa compilazione avviene una volta per ogni modifica del template anzich\u00e9 a ogni caricamento della pagina, ma le richieste successive saltano la compilazione ed eseguono il PHP in cache.<\/p>\n<p>Il processo trasforma le direttive di Blade in funzioni PHP. Ad esempio, la direttiva <code>@foreach<\/code> diventa un ciclo <code>foreach<\/code>; la sintassi <code>{{ $variable }}<\/code> diventa un&#8217;istruzione <code>echo<\/code> con escape.<\/p>\n<p>La cache a livello di server di Kinsta (sia la <a href=\"https:\/\/kinsta.com\/it\/blog\/edge-caching\/\">cache edge<\/a> che la <a href=\"https:\/\/kinsta.com\/blog\/redis-cache\/\">cache degli oggetti di Redis<\/a>) lavora insieme alla cache di compilazione di Blade per creare pi\u00f9 livelli di prestazioni. Le viste compilate di Blade si collocano tra questi livelli e forniscono tempi di esecuzione dei template che beneficiano sia della cache a monte che dell&#8217;ottimizzazione a valle.<\/p>\n<p>Durante la distribuzione, Blade cancella la cache quando si apportano modifiche ai template negli ambienti di staging o di produzione. Sebbene Blade rilevi le modifiche ai template durante lo sviluppo, i processi di distribuzione dovrebbero includere la cancellazione della cache delle viste attraverso l&#8217;esecuzione di <code>php artisan view:clear<\/code> o <code>wp acorn view:clear<\/code> all&#8217;interno dello script di distribuzione.<\/p>\n<h2>Lo sviluppo moderno di temi WordPress include Radicle e Kinsta<\/h2>\n<p>La combinazione tra la struttura ispirata a Laravel di Radicle e l&#8217;<a href=\"https:\/\/kinsta.com\/it\/hosting-wordpress\/\">infrastruttura di hosting gestito di Kinsta<\/a> offre una base per scalare i progetti WordPress. Le agenzie che gestiscono pi\u00f9 siti di clienti possono sfruttare template di componenti coerenti tra i vari progetti. Gli sviluppatori possono lavorare con le convenzioni di Laravel, pur mantenendo la compatibilit\u00e0 con WordPress.<\/p>\n<p>Il passo successivo dipende dalla tua configurazione attuale. Se stai iniziando da zero, inizia installando Radicle e creando il tuo primo componente Blade. Se stai migrando un tema esistente, identifica i template di markup ripetitivi e convertili in componenti una sezione alla volta. Concentrati su aree di grande valore come la navigazione, gli header e i footer, dove i vantaggi dei componenti sono immediati.<\/p>\n<p>Se hai bisogno di un hosting WordPress gestito che supporti i moderni flussi di sviluppo, <a href=\"https:\/\/kinsta.com\/it\/hosting-wordpress\/\">Kinsta offre funzionalit\u00e0<\/a> compatibili con strumenti come Radicle e Acorn.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lo sviluppo tradizionale di un tema WordPress si basa sulla ripetizione del markup dell&#8217;header e del footer nei vari file di template. Ogni volta che aggiorni &#8230;<\/p>\n","protected":false},"author":287,"featured_media":83377,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[25873],"class_list":["post-83376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","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>Sviluppo di template per WordPress tramite Radicle su Kinsta<\/title>\n<meta name=\"description\" content=\"Lo sviluppo moderno di WordPress combina diversi strumenti per risparmiare tempo. Qui vediamo come usare i template Blade con Radicle su Kinsta.\" \/>\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\/template-blade-wordpress-radicle\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creare template con Blade in WordPress: sviluppo di template moderni con Radicle su Kinsta\" \/>\n<meta property=\"og:description\" content=\"Lo sviluppo moderno di WordPress combina diversi strumenti per risparmiare tempo. Qui vediamo come usare i template Blade con Radicle su Kinsta.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/\" \/>\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=\"2026-02-27T10:01:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-05T07:35:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1470\" \/>\n\t<meta property=\"og:image:height\" content=\"735\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Lo sviluppo moderno di WordPress combina diversi strumenti per risparmiare tempo. Qui vediamo come usare i template Blade con Radicle su Kinsta.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Creare template con Blade in WordPress: sviluppo di template moderni con Radicle su Kinsta\",\"datePublished\":\"2026-02-27T10:01:39+00:00\",\"dateModified\":\"2026-03-05T07:35:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/\"},\"wordCount\":1838,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png\",\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/\",\"name\":\"Sviluppo di template per WordPress tramite Radicle su Kinsta\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png\",\"datePublished\":\"2026-02-27T10:01:39+00:00\",\"dateModified\":\"2026-03-05T07:35:50+00:00\",\"description\":\"Lo sviluppo moderno di WordPress combina diversi strumenti per risparmiare tempo. Qui vediamo come usare i template Blade con Radicle su Kinsta.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#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\":\"Creare template con Blade in WordPress: sviluppo di template moderni con Radicle su Kinsta\"}]},{\"@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\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sviluppo di template per WordPress tramite Radicle su Kinsta","description":"Lo sviluppo moderno di WordPress combina diversi strumenti per risparmiare tempo. Qui vediamo come usare i template Blade con Radicle su Kinsta.","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\/template-blade-wordpress-radicle\/","og_locale":"it_IT","og_type":"article","og_title":"Creare template con Blade in WordPress: sviluppo di template moderni con Radicle su Kinsta","og_description":"Lo sviluppo moderno di WordPress combina diversi strumenti per risparmiare tempo. Qui vediamo come usare i template Blade con Radicle su Kinsta.","og_url":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2026-02-27T10:01:39+00:00","article_modified_time":"2026-03-05T07:35:50+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png","type":"image\/png"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Lo sviluppo moderno di WordPress combina diversi strumenti per risparmiare tempo. Qui vediamo come usare i template Blade con Radicle su Kinsta.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Joel Olawanle","Tempo di lettura stimato":"10 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Creare template con Blade in WordPress: sviluppo di template moderni con Radicle su Kinsta","datePublished":"2026-02-27T10:01:39+00:00","dateModified":"2026-03-05T07:35:50+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/"},"wordCount":1838,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png","inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/","url":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/","name":"Sviluppo di template per WordPress tramite Radicle su Kinsta","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png","datePublished":"2026-02-27T10:01:39+00:00","dateModified":"2026-03-05T07:35:50+00:00","description":"Lo sviluppo moderno di WordPress combina diversi strumenti per risparmiare tempo. Qui vediamo come usare i template Blade con Radicle su Kinsta.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2026\/02\/blade-templating-in-wordpress-modern-template-development-with-radicle-on-kinsta.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/template-blade-wordpress-radicle\/#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":"Creare template con Blade in WordPress: sviluppo di template moderni con Radicle su Kinsta"}]},{"@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\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/it\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/83376","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\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=83376"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/83376\/revisions"}],"predecessor-version":[{"id":83453,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/83376\/revisions\/83453"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/83376\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/83376\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/83376\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/83376\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/83376\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/83376\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/83376\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/83376\/translations\/es"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/83376\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/83377"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=83376"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=83376"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=83376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}