✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come deprecare i blocchi di Gutenberg

12

Uno dei problemi più comuni con l’aggiornamento di un tema o di un plug-in con i blocchi di Gutenberg è che apportare modifiche al codice del blocco interromperà tutti i post esistenti che utilizzano quel blocco. Fortunatamente WordPress offre una soluzione; un modo per deprecare i blocchi. In questo post vedremo come farlo.

Se hai già lavorato con lo sviluppo dei blocchi in precedenza, probabilmente hai familiarità con questo errore di blocco quando hai aggiunto un blocco e successivamente modificato la savefunzione.

Come deprecare i blocchi di Gutenberg

Ciò accade perché WordPress confronta il blocco salvato nel database con il codice corrente nella savefunzione nel blocco e non corrispondono. WordPress non è in grado di correggere la differenza. Nella maggior parte dei casi puoi fare clic sui tre punti sul blocco e scegliere "Tentativo di ripristino del blocco". Se le modifiche apportate alla savefunzione sono piccole (ad es. un cambio di classe), WordPress è in grado di ripristinare il blocco. Nel peggiore dei casi ‘ È necessario fare clic su "Converti in HTML" e perderai la editfunzionalità del blocco Ovviamente non possiamo aspettarci che gli utenti del nostro codice di blocco trovino manualmente tutti i post utilizzando questo blocco ed eseguano questi passaggi per ciascuno.

Quindi, prima di aggiornare la savefunzione, aggiungeremo del codice per dire a WordPress come gestire i vecchi contenuti che sono stati salvati con la vecchia savefunzione.

Entriamo nel codice!

In realtà è piuttosto semplice. In breve, quello che dobbiamo fare è; aggiungere una deprecatedproprietà alla registerBlockType()chiamata di funzione. Questa proprietà prevede una matrice. Ciò significa che puoi deprecare un blocco più volte, fornendo più voci nell’array. Ogni ammortamento è definito come un oggetto che contiene la attributesproprietà completa e la (vecchia) savefunzione.

In altre parole, definisci una deprecatedproprietà come un array e poi copi i tuoi blocchi attributese savefunzioni al suo interno. Dovrai includere gli attributi anche se non stai modificando nulla in essi nell’aggiornamento. Non è necessario includere la editfunzione nell’ammortamento.

Andiamo su questo in un esempio più pratico.

Supponiamo che il nostro codice di blocco assomigli a questo. La editfunzione è esclusa in quanto non è necessario gestirla nell’ammortamento.

Quindi supponiamo di voler apportare modifiche a entrambi gli attributi e salvare ed evitare di rompere i blocchi esistenti. Aggiungiamo la deprecatedproprietà e vi copiamo l’intero attributese savecome elemento dell’array. Quindi siamo liberi di apportare modifiche attributeso/e savefunzioni.

Con questo codice compilato, puoi trovare un post esistente usando il vecchio codice di blocco e non dovresti ottenere alcun codice rotto!

WordPress scoprirà che il blocco sta utilizzando il nostro codice deprecato e caricherà il contenuto utilizzando il savecodice deprecato. Una volta apportate modifiche al blocco e aggiornato il post, il blocco verrà salvato utilizzando la nuova savefunzione.

Ammortamenti più avanzati e ulteriori letture

L’esempio di codice sopra è la forma più semplice per l’ammortamento. migrateWordPress supporta più funzionalità, come l’inclusione supportse persino l’assegnazione di costanti (pensa ai numeri di versione) al tuo codice deprecato. Dai un’occhiata alla documentazione di WordPress sull’ammortamento dei blocchi.

Fonte di registrazione: awhitepixel.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More