WordPress Block Patterns: Creazione e Gestione

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 è indipendente e modificabile.

Block Pattern Directory

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’editor.

Registrare Pattern in un Tema

Nei temi classici si registrano con register_block_pattern() nell’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’HTML. La funzione load_theme_textdomain() supporta la traduzione delle etichette dei pattern.

Pattern in Plugin

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.

Scrivere Pattern a Mano

I pattern si scrivono in HTML con commenti di blocco. Usa l’editor per creare il layout, passa a Code Editor, e copia il markup. Per pattern dinamici, usa PHP: return ‘

Contenuto

‘;. 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à l'utente ha scritto "assistant" e poi "```json" e poi "{" ma non ha fornito le chiavi. Aspetta, rileggo. L'input dell'utente è: "Sei un traduttore professionista inglese->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. assistant```json { " Sembra che l'utente abbia incollato un prompt e poi un inizio di risposta JSON con una chiave vuota? In realtà il messaggio termina con `{` e poi una stringa vuota? Forse è un errore di formattazione. L'utente vuole che io traduca qualcosa, ma non ha fornito le stringhe da tradurre. Forse il testo dopo "assistant" è parte del prompt? Oppure l'utente ha dimenticato di includere le chiavi. Il mio compito è 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 è incompleto. Osservo che il messaggio termina con `{` e una riga vuota. Potrebbe essere che l'utente volesse incollare un JSON ma si è interrotto. Forse la richiesta è di tradurre il prompt stesso? No, il prompt è in italiano e chiede di tradurre dall'inglese all'italiano. Forse 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. La cosa migliore è chiedere all'utente di fornire le stringhe da tradurre. Tuttavia, per essere utile, potrei anche notare che il messaggio sembra incompleto. Rispondo in italiano, chiedendo di fornire le stringhe. Non devo tradurre nulla perché non c'è input. Quindi rispondo: "Non ho ricevuto alcuna stringa da tradurre. Per favore, fornisci le chiavi e i testi in inglese che desideri tradurre in italiano." Ma forse l'utente si aspetta che io traduca il prompt? No, il prompt è già in italiano. Rileggo attentamente: l'utente ha scritto "Sei un traduttore professionista..." e poi "assistant```json\n{\n" - questo

Categorie di Pattern

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’inserter.

Pattern Locking e Unità

I pattern possono usare template locking per proteggere parti del layout. L’attributo lock sul group block contenitore permette di rimuovere, spostare, o modificare blocconi interni. Per pattern commerciali, il locking parziale è utile: permetti modifica testo ma blocca struttura e immagini. I pattern possono anche definirsi come ‘unit’ per essere inseriti come blocco singolo.

Pattern e Performance

I pattern non impattano le performance finché 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’editor usando enqueue_block_editor_assets per mantenere il frontend veloce.

Conclusione

I Block Patterns sono uno strumento potente per velocizzare la creazione di contenuti in Gutenberg. Forniscono layout professionali pronti all’uso che gli utenti possono personalizzare. Che tu sviluppi temi o plugin, registrare pattern di qualità migliora l’esperienza di editing e differenzia il tuo prodotto. Con la directory ufficiale di WordPress.org, i pattern sono diventati un ecosistema fondamentale per Gutenberg.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *