Gutenberg 12.9 adaugă blocarea interfeței de utilizare, înregistrarea automată a modelelor și exporturile complete ale temelor
Publicat: 2022-03-31Gutenberg 12.9 a ajuns astăzi în directorul de pluginuri WordPress.org și este o lansare consistentă, plină cu ceva pentru toată lumea. Chiar și după ce m-am chinuit cu noi funcții în ultimele zile, încă nu am explorat totul atât de mult pe cât mi-aș dori. Având în vedere limitarea practică a timpului, nu voi putea să mă scufund în totul în această postare, dar voi încerca să vă prezint pe toți câteva dintre cele mai importante momente.
Următoarele sunt câteva articole selectate în care nu am putut să mă scufund, dar încurajez totuși cititorii să verifice:
- Numele culorii selectate apare acum în selectorul de culori.
- Utilizatorii pot alege acum dintr-o listă sugerată de formate de dată sau pot adăuga unul personalizat pentru blocul Post Data. Acestea sunt internaționalizate, așa că sugestiile vor fi specifice localității.
- Temele pot adăuga blocuri la un bloc container Fără rezultate atunci când o interogare nu returnează nicio postare.
- Blocul Tag Cloud are acum controale pentru dimensiunea minimă și maximă.
- Blocul Separator acceptă noul control al culorilor, permițând utilizatorilor să selecteze culori transparente.
Blocare blocare UI

Gutenberg 12.9 introduce o nouă interfață de utilizare pentru blocarea blocurilor. Sub meniul drop-down „mai multe opțiuni” din bara de instrumente, utilizatorii pot selecta opțiunea de blocare, care va afișa un ecran cu două opțiuni:
- Dezactivați mișcarea: nu permite mutarea blocului în sine. Cu toate acestea, blocurile frați pot fi mutate în jurul acestuia.
- Preveniți eliminarea: împiedică ștergerea blocului.
Andrei Drăgănescu a notat următoarele în postarea de anunț 12.9:
Când un bloc este blocat, utilizatorii nu îl pot muta, nu îl pot elimina sau ambele. Acest lucru este util în special cu blocurile la nivel de site, cum ar fi Postați conținut, pe care multe teme vor dori să le blocheze.
Cu toate acestea, această definiție nu explică în întregime blocarea la nivel de bloc. Există o avertizare: această nouă interfață de utilizare le înmânează utilizatorilor finali cheia încuietorului. Din punct de vedere tehnic, aveau deja această capacitate prin intermediul editorului de cod, dar este acum disponibilă prin interfață.
Din perspectiva dezvoltării temei, blocarea la nivel de bloc necesită doar pași suplimentari ai utilizatorului pentru a muta și/sau elimina blocurile. Nu este o încuietoare „forțată” sau „permanentă”. Este o caracteristică binevenită, dar tematicii ar trebui să-i înțeleagă limitele și că această nouă interfață de utilizare oferă mai multă putere utilizatorilor, nu mai puțin.
Actualizare: există un cârlig pentru care creatorii de site-uri să suprascrie acest lucru. Vezi mai multe în comentarii.
Block Gap Support pentru galerii... Sort Of

Una dintre caracteristicile care m-au încântat cel mai mult cu această lansare a fost adăugarea de suport pentru spațierea dintre imaginile din Galerie. Autorii de teme s-au bazat pe stiluri de bloc specializate pentru a oferi utilizatorilor opțiuni, de obicei limitate la opțiuni implicite și „fără decalaj”. Acesta din urmă ar elimina orice distanță dintre imagini.
Din păcate, caracteristica este întreruptă în 12.9 când utilizatorii setează manual un decalaj. Verificând codul sursă, scoate un Array
în loc de CSS valid. Pe partea din față, se afișează următorul avertisment:
Warning: preg_match() expects parameter 2 to be string, array given in ...wp-content/plugins/gutenberg/build/block-library/blocks/gallery.php on line 51
Sunt sigur că acest lucru va fi corectat în 12.9.1. Până atunci, vă sugerez să nu utilizați controlul „Block Spacing”.
Avertisment pentru autorul temei: aceasta este o schimbare radicală pentru temele care vizează --gallery-block--gutter-size
pentru a controla decalajul implicit pentru galerii. Această proprietate personalizată CSS de încredere anterior nu mai există în cod. Nu este clar de ce această variabilă a fost eliminată cu totul și nu a fost menționată în bilet.
O nouă --wp--style--unstable-gallery-gap
pare să facă o treabă similară. Cu toate acestea, după cum sugerează partea unstable
a numelui său, este posibil să nu fie întotdeauna în preajmă. De asemenea, este definită în .wp-container-*
în locul galeriei în sine. Încă nu am făcut suficiente teste CSS pentru a-mi da seama cum să-l suprascriu pentru decalajul implicit. Dacă cineva are o soluție, vă rugăm să o postați în comentarii pentru alții.
Copii restrânși implicit în vizualizarea listă

De multe ori m-am ferit de vizualizarea listă din editor pentru majoritatea scenariilor din lumea reală, cel puțin pentru paginile cu multe blocuri imbricate. Cu fiecare nivel deschis în mod implicit, a fost un pic un coșmar să răsfoiți și să găsiți un anumit bloc. Mi-a fost mai ușor să-mi asum șansele făcând clic în panza de conținut.

Cu toate acestea, cea mai recentă lansare Gutenberg ar putea să-mi schimbe pur și simplu modul de utilizare a acesteia. Versiunea 12.9 restrânge toate blocurile copil în mod implicit.
Înregistrare automată a modelelor pentru teme
Autorii temei îl pot lăsa acum pe Gutenberg să se ocupe de înregistrarea modelelor pentru ei. Ei trebuie să respecte doar câteva reguli:
- Adăugați modele de bloc în interiorul fișierelor PHP într-un folder
/patterns
. - Adăugați date de model la antetul fișierului.
- Adăugați conținut de model, desigur.
Fișierele de modele individuale ar trebui să arate astfel:
<?php /** * Title: A Pattern Title * Slug: namespace/slug * Description: A human-friendly description. * Viewport Width: 1024 * Categories: comma, separated, values * Keywords: comma, separated, values * Block Types: comma, separated, values * Inserter: yes|no */ ?> <!-- some-block-content /-->
Sunt obligatorii doar câmpurile Title
și Antet Slug
. Fiecare opțiune se potrivește cu un argument al funcției register_block_pattern()
.
Autorii de teme care doresc să folosească această caracteristică acum, dar oferă compatibilitate cu WordPress 5.9, pot verifica existența funcției gutenberg_register_theme_block_patterns()
. Cel puțin acesta este numele funcției pentru moment.
Această modificare se bazează în continuare pe standardele existente pentru temele bloc. Autorii au acum linii directoare clare cu privire la înregistrarea majorității funcțiilor prin fișiere și foldere standard:
-
/parts
– Părți de șablon bloc -
/patterns
– Modele bloc -
/styles
– Variații globale de stil -
/templates
– Șabloane bloc -
theme.json
– Setări și stiluri globale
În afară de stilurile și variațiile de bloc personalizate (a nu se confunda cu variațiile de stil globale), aproape totul este acoperit. Acest set complet reduce bariera de intrare pentru viitorii autori de teme. Chiar și dezvoltatorii experimentați ar trebui să aprecieze simplitatea cum să numească lucrurile și unde să le pună. Este un lucru mai puțin pentru care să vă faceți griji. De asemenea, va continua să simplifice sistemul de revizuire a temelor WordPress.org.
Exportarea temei și crearea de șabloane
Vorbind despre reducerea barierelor, creatorii pot construi acum o temă întreagă din editorul site-ului. Ei bine, presupunând că pornesc de la o temă de bloc existentă.
Gutenberg 12.9 introduce două caracteristici vitale în procesul de construire a site-ului. Prima permite utilizatorilor să exporte o copie a temei lor active direct din editor:

Fișierul ZIP descărcat din acest export este o temă complet funcțională. Include toate personalizările utilizatorului alături de fiecare fișier care există deja în original.
Există încă câteva lucruri care nu sunt încă posibile de la editor și acestea vor trebui ajustate manual înainte de lansarea publică. Numele temei și alte date din style.css
vor rămâne aceleași cu tema originală. De asemenea, nu există nicio metodă pentru a captura o captură de ecran a versiunii personalizate și a o grupare în ZIP.
Acesta este un salt înainte pentru democratizarea designului, dar vor trebui luate în considerare alte fluxuri. Utilizatorii ar trebui să poată exporta ca temă secundară doar cu personalizările lor sau chiar ca fișier *.json
(variație de stil globală).
Dar, există un caz de utilizare mai imediat și mai practic. Utilizatorii își pot descărca temele personalizate și le pot încărca pe alt site.
A doua actualizare crucială pentru dezvoltare în cadrul editorului de site este suportul pentru mai multe șabloane. Utilizatorii pot crea acum următoarele din panoul de gestionare a șabloanelor în plus față de cele existente;
- Autor
- Categorie
- Data
- Etichetă
- Taxonomie

Noile șabloane sunt completări binevenite, dar funcția de creare a șabloanelor are încă limite. Nu există nicio modalitate de a crea variante ale acestor șabloane prin intermediul interfeței de utilizare, cum ar fi category-wordpress
, taxonomy-genre
sau alte zeci de alte posibilități. Cu toate acestea, se va întâmpla într-o zi.