{"id":676,"date":"2026-10-13T10:00:00","date_gmt":"2026-10-13T08:00:00","guid":{"rendered":"https:\/\/aarkly.com\/?p=676"},"modified":"2026-07-21T13:09:35","modified_gmt":"2026-07-21T11:09:35","slug":"wordpress-block-patterns-creation","status":"publish","type":"post","link":"https:\/\/aarkly.com\/it\/wordpress-block-patterns-creation\/","title":{"rendered":"WordPress Block Patterns: Creazione e Gestione"},"content":{"rendered":"<h2 class=\"wp-block-heading\">Cosa sono i Block Patterns<\/h2>\n\n<p class=\"wp-block-paragraph\">I Block Patterns sono layout predefiniti di blocchi Gutenberg che gli utenti possono inserire con un click. Introdotti in WordPress 5.5, permettono di creare sezioni di pagina riutilizzabili: hero sections, call-to-action, griglie, pricing table, header, footer. A differenza dei Reusable Blocks, i pattern non sono sincronizzati: ogni istanza \u00e8 indipendente e modificabile.<\/p>\n\n<h2 class=\"wp-block-heading\">Block Pattern Directory<\/h2>\n\n<p class=\"wp-block-paragraph\">WordPress include una directory ufficiale di pattern su WordPress.org\/patterns. Tema e plugin possono registrare pattern personalizzati usando register_block_pattern(). I pattern sono categorizzati (banner, buttons, columns, gallery, header, text) e supportano keywords per la ricerca. La directory permette agli utenti di esplorare e importare pattern senza uscire dall&#8217;editor.<\/p>\n\n<h2 class=\"wp-block-heading\">Registrare Pattern in un Tema<\/h2>\n\n<p class=\"wp-block-paragraph\">Nei temi classici si registrano con register_block_pattern() nell&#8217;init hook. Richiedono: name (namespace\/nome), title, content (HTML dei blocchi), categories, keywords, description. I temi block possono includere pattern in \/patterns\/ come file PHP che ritornano l&#8217;HTML. La funzione load_theme_textdomain() supporta la traduzione delle etichette dei pattern.<\/p>\n\n<h2 class=\"wp-block-heading\">Pattern in Plugin<\/h2>\n\n<p class=\"wp-block-paragraph\">I plugin possono registrare pattern cross-tema. register_block_pattern_category() crea categorie personalizzate. register_block_pattern() registra il pattern. I pattern possono includere blocchi di terze parti, ma devono esistere per funzionare. Plugin come Patterns Store offrono librerie complete di pattern precostruiti per vari settori.<\/p>\n\n<h2 class=\"wp-block-heading\">Scrivere Pattern a Mano<\/h2>\n\n<p class=\"wp-block-paragraph\">I pattern si scrivono in HTML con commenti di blocco. Usa l&#8217;editor per creare il layout, passa a Code Editor, e copia il markup. Per pattern dinamici, usa PHP: return &#8216;<p class=\"wp-block-paragraph\">Contenuto<\/p>&#8216;;. I pattern possono includere placeholder text, placeholder immagini da picsum.photos, e classi CSS per styling aggiuntivo.\" che sembra essere l'inizio di una risposta? In realt\u00e0 l'utente ha scritto \"assistant\" e poi \"```json\" e poi \"{\" ma non ha fornito le chiavi. Aspetta, rileggo.\n\nL'input dell'utente \u00e8:\n\n\"Sei un traduttore professionista inglese-&gt;italiano. Traduci ogni stringa in italiano naturale e fluente, mantenendo il tono e il significato esatto. Non tradurre nomi propri, marchi, URL, email o codici. Non aggiungere spiegazioni. Restituisci SOLO un oggetto JSON valido con le stesse chiavi ricevute, dove ogni valore e la traduzione.\n\nassistant```json\n{\n\"\n\nSembra che l'utente abbia incollato un prompt e poi un inizio di risposta JSON con una chiave vuota? In realt\u00e0 il messaggio termina con `{` e poi una stringa vuota? Forse \u00e8 un errore di formattazione. L'utente vuole che io traduca qualcosa, ma non ha fornito le stringhe da tradurre. Forse il testo dopo \"assistant\" \u00e8 parte del prompt? Oppure l'utente ha dimenticato di includere le chiavi.\n\nIl mio compito \u00e8 rispondere come assistente. Dato che l'utente mi chiede di tradurre ma non fornisce alcuna stringa, devo chiedere chiarimenti? Oppure devo interpretare che l'input \u00e8 incompleto.\n\nOsservo che il messaggio termina con `{` e una riga vuota. Potrebbe essere che l'utente volesse incollare un JSON ma si \u00e8 interrotto. Forse la richiesta \u00e8 di tradurre il prompt stesso? No, il prompt \u00e8 in italiano e chiede di tradurre dall'inglese all'italiano.\n\nForse l'utente ha accidentalmente incluso \"assistant\" e un blocco JSON vuoto. Dovrei rispondere chiedendo di fornire le stringhe da tradurre. Ma la richiesta dice \"Restituisci SOLO un oggetto JSON valido con le stesse chiavi ricevute\" - quindi se non ci sono chiavi, non posso restituire nulla.\n\nLa cosa migliore \u00e8 chiedere all'utente di fornire le stringhe da tradurre. Tuttavia, per essere utile, potrei anche notare che il messaggio sembra incompleto.\n\nRispondo in italiano, chiedendo di fornire le stringhe. Non devo tradurre nulla perch\u00e9 non c'\u00e8 input.\n\nQuindi rispondo: \"Non ho ricevuto alcuna stringa da tradurre. Per favore, fornisci le chiavi e i testi in inglese che desideri tradurre in italiano.\"\n\nMa forse l'utente si aspetta che io traduca il prompt? No, il prompt \u00e8 gi\u00e0 in italiano.\n\nRileggo attentamente: l'utente ha scritto \"Sei un traduttore professionista...\" e poi \"assistant```json\\n{\\n\" - questo\n\n<h2 class=\"wp-block-heading\">Categorie di Pattern<\/h2>\n\n<p class=\"wp-block-paragraph\">Le categorie predefinite includono: banner, buttons, columns, gallery, header, text, team, testimonials, portfolio, pricing, services, e call-to-action. register_block_pattern_category() aggiunge categorie personalizzate con label e opzionalmente icon (Dashicon). La categorizzazione corretta aiuta gli utenti a trovare i pattern rilevanti rapidamente nell&#8217;inserter.<\/p>\n\n<h2 class=\"wp-block-heading\">Pattern Locking e Unit\u00e0<\/h2>\n\n<p class=\"wp-block-paragraph\">I pattern possono usare template locking per proteggere parti del layout. L&#8217;attributo lock sul group block contenitore permette di rimuovere, spostare, o modificare blocconi interni. Per pattern commerciali, il locking parziale \u00e8 utile: permetti modifica testo ma blocca struttura e immagini. I pattern possono anche definirsi come &#8216;unit&#8217; per essere inseriti come blocco singolo.<\/p>\n\n<h2 class=\"wp-block-heading\">Pattern e Performance<\/h2>\n\n<p class=\"wp-block-paragraph\">I pattern non impattano le performance finch\u00e9 non vengono usati. Una volta inseriti, diventano contenuto normale della pagina. Per temi con molti pattern, registra solo quelli necessari. Plugin che offrono centinaia di pattern possono caricare le definizioni solo nell&#8217;editor usando enqueue_block_editor_assets per mantenere il frontend veloce.<\/p>\n\n<h2 class=\"wp-block-heading\">Conclusione<\/h2>\n\n<p class=\"wp-block-paragraph\">I Block Patterns sono uno strumento potente per velocizzare la creazione di contenuti in Gutenberg. Forniscono layout professionali pronti all&#8217;uso che gli utenti possono personalizzare. Che tu sviluppi temi o plugin, registrare pattern di qualit\u00e0 migliora l&#8217;esperienza di editing e differenzia il tuo prodotto. Con la directory ufficiale di WordPress.org, i pattern sono diventati un ecosistema fondamentale per Gutenberg.<\/p>","protected":false},"excerpt":{"rendered":"<p>Cosa sono i Block Patterns I Block Patterns sono layout predefiniti di blocchi Gutenberg che gli utenti possono inserire con un click. Introdotti in WordPress 5.5, permettono di creare sezioni di pagina riutilizzabili: hero sections, call-to-action, griglie, pricing table, header, footer. A differenza dei Reusable Blocks, i pattern non sono sincronizzati: ogni istanza \u00e8 indipendente [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1101,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ai_primary_source":"","visibility_scope":"","ai_summary":"","ai_intent":"","ai_related_resources":"","ai_priority":0,"ai_entity_type":"","ai_is_based_on":"","ai_citations":"","ai_mentions":"","ai_speakable_selector":"","ai_chunk_hints":"","footnotes":""},"categories":[6],"tags":[50,47,45],"ai_visibility":[],"class_list":["post-676","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-content-management","tag-php-development","tag-wordpress-development"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"_links":{"self":[{"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/posts\/676","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/comments?post=676"}],"version-history":[{"count":1,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/posts\/676\/revisions"}],"predecessor-version":[{"id":891,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/posts\/676\/revisions\/891"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/media\/1101"}],"wp:attachment":[{"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/media?parent=676"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/categories?post=676"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/tags?post=676"},{"taxonomy":"ai_visibility","embeddable":true,"href":"https:\/\/aarkly.com\/it\/wp-json\/wp\/v2\/ai_visibility?post=676"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}