I widget basati su blocchi sono pronti per atterrare in WordPress 5.6?

Pubblicato: 2020-10-14

Due settimane fa, il team di Gutenberg ha lanciato un invito aperto per il feedback dei widget basati su blocchi. Avevo già scritto una lunga recensione del nuovo sistema all'inizio di settembre, ma un membro del team mi ha chiesto di condividere i miei pensieri sull'iterazione più recente. Con l'imminente blocco di WordPress 5.6 Beta 1 tra una settimana, ho pensato che non sarebbe stato male fare un'altra immersione profonda.

Per riferimento, il mio ultimo test è contro la versione 9.2.0-alpha-172f589 del plugin Gutenberg, che era una build di prima di oggi. Lo sviluppo di Gutenberg procede velocemente, ma tutto dovrebbe essere accurato fino a quel punto.

Alla fine, molti dei problemi che ho indicato più di un mese fa esistono ancora. Tuttavia, il team ha eliminato la maggior parte dei problemi minori, come puntare le frecce di apertura/chiusura per le barre laterali (aree di blocco) nella direzione corretta e renderlo più coerente con la schermata di post-editing. L'interfaccia utente è molto più lucida.

Prima di addentrarmi in tutti i problemi, voglio rispondere alla domanda che sto proponendo. Sì, il sistema di widget basato su blocchi sarà pronto per la prima serata quando WordPress 5.6 arriverà. Non è ancora arrivato, ma è a un punto in cui c'è un traguardo netto che è raggiungibile nei prossimi due mesi.

Ignorerò il fallimento dei widget basati su blocchi nel personalizzatore, che è arrivato in Gutenberg 8.9 ed è stato rimosso in 9.1. Esaminerò anche la recente proposta di ricostruire la schermata dei widget per utilizzare l'API Personalizza, almeno per ora. C'è un carico di problemi che i widget basati su blocchi presentano per il personalizzatore e quei problemi sono insormontabili per WordPress 5.6. A lungo termine, WordPress deve avere un unico posto per la modifica delle aree dei widget/blocchi. Gli utenti probabilmente dovranno convivere con alcune incongruenze per un po'.

Supponendo che il team non provi a lanciare un'Ave Maria dell'ultimo minuto e implementare la modifica completa dei blocchi nel personalizzatore in questo round, è sicuro dire che i widget basati su blocchi sono sulla buona strada verso un debutto di successo di WordPress 5.6.

L'esperienza dell'utente

Aggiunta di un widget alla schermata di modifica del widget in Gutenberg.
Schermata dei widget basati su blocchi.

Come utente, mi piace davvero usare la nuova schermata di amministrazione di Widgets. Le aree di blocco aperte e a forma libera creano infinite possibilità per la progettazione dei miei siti WordPress. I widget tradizionali avevano una portata limitata. Gli utenti sono stati vincolati a una manciata di widget principali, forse alcuni widget di plug-in e qualunque cosa offrisse l'autore del tema. Tuttavia, con i blocchi, il pool di scelte si espande almeno per triplicare le opzioni predefinite (non sto contando i blocchi di tipo incorporamento singolarmente). Inoltre, i blocchi forniscono un insieme molto più ampio di opzioni di progettazione rispetto a un widget tradizionale.

In confronto, i widget tradizionali sono obsoleti. I blocchi sono superiori in quasi tutti i modi. Tuttavia, ci sono ancora problemi con questo nuovo sistema.

Il problema più grande in questo momento è che gli utenti finali possono uscire dalla schermata dei widget senza salvare le modifiche. Non c'è alcun avvertimento per far loro sapere che tutto il loro lavoro sta per essere perso nell'etere. Questo è uno di quegli elementi a livello di OMGBBQ che devono accadere prima che WordPress 5.6 cada.

Una caratteristica interessante ma non necessaria sarebbe la possibilità di trascinare i blocchi da un'area all'altra. Nel vecchio sistema di widget, gli utenti potevano spostare i widget dalla barra laterale alla barra laterale. L'alternativa corrente è copiare un widget, incollarlo in una nuova area di blocco e rimuovere l'originale.

Inoltre, non sono un fan di non avere un'opzione per la barra degli strumenti in alto, che è disponibile nella schermata di post-editing. Uno dei motivi per utilizzare questa barra degli strumenti è perché non mi piace la barra degli strumenti a comparsa predefinita sui singoli blocchi. Mi distrae e spesso intralcia il mio lavoro.

I widget legacy sembrano essere ancora in lavorazione. Il blocco Legacy Widget a volte non funzionava affatto per me. Poi, magicamente ha cominciato a funzionare. Tuttavia, Gutenberg ora aggiunge automaticamente widget di terze parti registrati all'inseritore di blocchi proprio come se fossero blocchi.

Inserimento di un widget legacy di terze parti nel sistema di widget di Gutenberg.
Far funzionare il widget di un plugin.

Questo ha presentato i suoi problemi. L'unico modo in cui sono riuscito a far funzionare i widget di plug-in di terze parti è stato inserire il widget, salvare e aggiornare la schermata dei widget. A quel punto, i widget sono apparsi e sono diventati modificabili.

L'esperienza dell'autore del tema

Una delle mie maggiori preoccupazioni per gli autori di temi in questo momento è che non sembra esserci alcuna documentazione nel manuale dell'editor di blocchi. C'è tutto il tempo per farlo accadere, ma ci sono cose di cui gli autori dei temi devono essere consapevoli. Avere una posizione centralizzata, anche mentre la funzionalità è in fase di sviluppo, li aiuterebbe a prepararsi per la versione 5.6.

Alcune di queste domande, a cui è possibile rispondere in vari post del blog Make, dovrebbero esistere in una pagina di documentazione dedicata:

  • In che modo un tema può disattivare i widget basati su blocchi?
  • Quali sono gli hook per aggiungere stili personalizzati per la schermata Widget?
  • I temi possono scegliere come target stili specifici della barra laterale nella schermata dei widget?
  • È possibile applicare uno stile coerente alle sezioni come i widget tradizionali sul front-end?
  • I temi possono optare per un allineamento ampio e completo all'interno di aree di blocco, che potrebbero essere utilizzate essenzialmente in modo simile all'area del contenuto del post?

Queste sono alcune delle domande a cui vorrei avere una risposta come ex autore di temi. Non sono più nel bel mezzo del gioco di design dei temi e presumo che quelli che lo sono avrebbero un elenco più ampio di domande.

Un pezzo di documentazione meno ovvio dovrebbe essere incentrato su come gestire i fallback o i widget predefiniti. Tradizionalmente, i temi che dovevano mostrare un insieme predefinito di widget controllavano se la barra laterale ha widget e tornavano a utilizzare the_widget() per produrre uno o più valori predefiniti. Sebbene gli autori dei temi possano ancora farlo, dovremmo iniziare a trasferirli su tutta la linea al sistema a blocchi.

Gli autori del tema dovrebbero copiare/incollare bloccare l'HTML come ripiego? Il sistema di contenuti di avviamento sarebbe migliore per questo e il contenuto del widget di avviamento può gestire i blocchi? Qual è il metodo consigliato per i widget di fallback in WordPress 5.6?

C'è ancora il problema in corso su come gli autori del tema dovrebbero gestire il widget tradizionale e l'HTML del wrapper del titolo del widget nel nuovo paradigma dei blocchi. Una patch aggiunta dal rilascio di Gutenberg 9.1 avvolge ogni blocco di livello superiore con il widget wrapper. Se questo arriva nella versione 9.2, probabilmente peggiorerà il problema.

Nel sistema tradizionale, sia il titolo che il contenuto del widget sono racchiusi in un contenitore insieme. Tuttavia, se un utente aggiunge un blocco di intestazione (titolo del widget) e un altro blocco (contenuto del widget), ogni blocco viene racchiuso separatamente con i wrapper del widget del tema. L'unico modo per correggere la situazione così com'è è che gli utenti finali aggiungano un blocco di gruppo per ogni "widget" che desiderano, il che richiederebbe una vasta quantità di rieducazione per gli utenti di WordPress. Non è uno scenario ideale.

Visualizzazione dal vivo e del codice dell'HTML del widget wrapper errato in Gutenberg.
Ogni blocco è avvolto come una singola sezione.

Invece di tentare di "risolvere" direttamente questo problema, WordPress non dovrebbe invece fare nulla per l'output. I blocchi e i widget tradizionali sono fondamentalmente diversi.

Lascia che gli autori del tema prendano le redini su questo ed esplorino le possibilità. Tuttavia, fornisci loro gli strumenti per farlo, come supportare i modelli di blocco.