Gutenberg 12.9 agrega IU de bloqueo de bloques, registro automático de patrones y exportaciones completas de temas

Publicado: 2022-03-31

Gutenberg 12.9 aterrizó hoy en el directorio de complementos de WordPress.org, y es un lanzamiento robusto, repleto de algo para todos. Incluso después de jugar con nuevas funciones en los últimos días, todavía tengo que explorar todo tanto como me gustaría. Dada la limitación práctica de tiempo, no podré sumergirme en todo en esta publicación, pero intentaré presentarles a todos algunos de los aspectos más destacados.

Los siguientes son algunos elementos seleccionados en los que no pude sumergirme, pero animo a los lectores a que los revisen:

  • El nombre del color seleccionado ahora aparece en el selector de color.
  • Los usuarios ahora pueden elegir de una lista sugerida de formatos de fecha o agregar uno personalizado para el bloque Fecha de publicación. Estos están internacionalizados, por lo que las sugerencias serán específicas del lugar.
  • Los temas pueden agregar bloques a un bloque contenedor Sin resultados cuando una Consulta no devuelve publicaciones.
  • El bloque Tag Cloud ahora tiene controles de tamaño mínimo y máximo.
  • El bloque Separador admite el control de color más nuevo, lo que permite a los usuarios seleccionar colores transparentes.

Interfaz de usuario de bloqueo de bloques

Editor de sitios de WordPress. La ventana emergente Block Lock está abierta con opciones seleccionadas para deshabilitar el movimiento y evitar la eliminación de un bloque.
Personalización de un bloque bloqueado.

Gutenberg 12.9 presenta una nueva interfaz de usuario para bloquear bloques. En el menú desplegable "más opciones" en la barra de herramientas, los usuarios pueden seleccionar la opción de bloqueo, que abrirá una pantalla con dos opciones:

  • Desactivar movimiento: no permite mover el bloque en sí. Sin embargo, los bloques hermanos se pueden mover a su alrededor.
  • Impedir eliminación: evita que se elimine el bloque.

Andrei Draganescu señaló lo siguiente en la publicación del anuncio 12.9:

Cuando un bloque está bloqueado, los usuarios no pueden moverlo, eliminarlo o ambas cosas. Esto es particularmente útil con bloques de nivel de sitio como Publicar contenido que muchos temas querrán bloquear.

Sin embargo, esa definición no explica por completo el bloqueo a nivel de bloque. Hay una advertencia: esta nueva interfaz de usuario entrega a los usuarios finales la llave de la cerradura. Técnicamente, ya tenían esta capacidad a través del editor de código, pero ahora está disponible a través de la interfaz.

Desde una perspectiva de desarrollo de temas, el bloqueo a nivel de bloque simplemente requiere pasos adicionales del usuario para mover y/o eliminar bloques. No es un bloqueo “forzado” o “permanente”. Es una característica bienvenida, pero los creadores de temas deben comprender sus límites y que esta nueva interfaz de usuario ofrece más poder a los usuarios, no menos.

Actualización: hay un gancho para que los creadores de sitios sobrescriban esto. Ver más en los comentarios.

Compatibilidad con Block Gap para galerías... Más o menos

Editor de publicaciones de WordPress con un conjunto de imágenes de cinco grupos en el bloque Galería.
Espaciado de bloques para el bloque Galería.

Una de las características que más me entusiasmó con esta versión fue la adición de soporte para el espacio entre las imágenes de la Galería. Los autores de temas se han basado en estilos de bloque especializados para dar opciones a los usuarios, generalmente limitadas a opciones predeterminadas y "sin espacios". Este último eliminaría cualquier espacio entre las imágenes.

Desafortunadamente, la función se interrumpe en 12.9 cuando los usuarios establecen manualmente un espacio. Al verificar el código fuente, está generando una Array en lugar de un CSS válido. En la parte delantera, se muestra la siguiente advertencia:

 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

Estoy seguro de que esto se corregirá en 12.9.1. Hasta entonces, sugiero no usar el control "Block Spacing".

Advertencia del autor del tema: este es un cambio importante para los temas que tienen como objetivo --gallery-block--gutter-size para controlar el espacio predeterminado para las galerías. Esta propiedad personalizada de CSS que antes era confiable ya no existe en el código. No está claro por qué esta variable se eliminó por completo, y no se mencionó en el ticket.

Una nueva --wp--style--unstable-gallery-gap parece hacer un trabajo similar. Sin embargo, como sugiere la parte unstable de su nombre, es posible que no siempre esté presente. También se define en la .wp-container-* en lugar de la propia galería. Todavía tengo que hacer suficientes pruebas de CSS para descubrir cómo sobrescribirlo para el espacio predeterminado. Si alguien tiene una solución, por favor publíquela en los comentarios para otros.

Elementos secundarios contraídos de forma predeterminada en la vista de lista

Editor de bloques de WordPress con el panel de vista de lista abierto a la izquierda. Sus bloques están colapsados ​​por defecto.
Abrir un conjunto contraído de bloques anidados en la vista de lista.

A menudo me he alejado de la vista de lista en el editor para la mayoría de los escenarios del mundo real, al menos para páginas con muchos bloques anidados. Con todos los niveles abiertos de forma predeterminada, fue un poco una pesadilla navegar y localizar un bloque específico. Era más fácil arriesgarme haciendo clic en el lienzo de contenido.

Sin embargo, la última versión de Gutenberg puede cambiar mi uso. La versión 12.9 contrae todos los bloques secundarios de forma predeterminada.

Registro automático de patrones para temas

Los autores de temas ahora pueden dejar que Gutenberg maneje el registro de patrones por ellos. Solo necesitan seguir algunas reglas:

  • Agregue patrones de bloque dentro de archivos PHP en una carpeta /patterns .
  • Agregue datos de patrones al encabezado del archivo.
  • Agregue contenido de patrón, por supuesto.

Los archivos de patrones individuales deben tener el siguiente aspecto:

 <?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 /-->

Solo se requieren los campos de encabezado Title y Slug . Cada opción coincide con un argumento de función register_block_pattern() .

Los autores de temas que deseen utilizar esta función ahora pero que ofrezcan compatibilidad con versiones anteriores de WordPress 5.9 pueden comprobar la existencia de la función gutenberg_register_theme_block_patterns() . Ese es el nombre de la función por el momento, al menos.

Este cambio se basa aún más en los estándares existentes para temas de bloque. Los autores ahora tienen pautas claras para registrar la mayoría de las funciones a través de archivos y carpetas estándar:

  • /parts – Piezas de plantilla de bloque
  • /patterns – Patrones de bloque
  • /styles : variaciones de estilo globales
  • /templates – Plantillas de bloque
  • theme.json – Configuraciones y estilos globales

Aparte de los estilos y variaciones de bloques personalizados (que no deben confundirse con las variaciones de estilo globales), casi todo está cubierto. Este conjunto completo reduce la barrera de entrada para los futuros autores de temas. Incluso los desarrolladores experimentados deberían apreciar la simplicidad de cómo nombrar las cosas y dónde colocarlas. Es una cosa menos de qué preocuparse. También continuará simplificando el sistema de revisión de temas de WordPress.org.

Exportación de temas y creación de plantillas

Hablando de reducir las barreras, los creadores ahora pueden crear un tema completo desde el editor del sitio. Bueno, asumiendo que parten de un tema de bloque existente.

Gutenberg 12.9 presenta dos características vitales para el proceso de creación de sitios. El primero permite a los usuarios exportar una copia de su tema activo directamente desde el editor:

Editor del sitio de Gutenberg con el menú desplegable de opciones abierto. El botón exportar está seleccionado.
Exportación del tema activo con personalizaciones.

El archivo ZIP descargado de esta exportación es un tema completamente funcional. Incluye todas las personalizaciones del usuario junto con todos los archivos que ya existen en el original.

Todavía hay algunas cosas que aún no son posibles desde el editor, y deberán ajustarse manualmente antes del lanzamiento público. El nombre del tema y otros datos en style.css seguirán siendo los mismos que los del tema original. Tampoco existe un método para obtener una captura de pantalla de la versión personalizada y empaquetarla en el ZIP.

Este es un salto adelante para democratizar el diseño, pero será necesario considerar otros flujos. Los usuarios deberían poder exportar como un tema secundario solo con sus personalizaciones o incluso como un archivo *.json (variación de estilo global).

Pero, hay un caso de uso más inmediato y práctico. Los usuarios pueden descargar sus temas personalizados y subirlos a otro sitio.

La segunda actualización crucial para el desarrollo dentro del editor del sitio es la compatibilidad con más plantillas. Los usuarios ahora pueden crear lo siguiente desde el panel de administración de plantillas además de las existentes;

  • Autor
  • Categoría
  • Fecha
  • Etiqueta
  • Taxonomía
Panel de plantillas de Gutenberg abierto. El menú desplegable "agregar nuevo" está abierto con la plantilla Autor resaltada.
Adición de una nueva plantilla de autor.

Las nuevas plantillas son adiciones bienvenidas, pero la función de creación de plantillas todavía tiene límites. No hay forma de crear variaciones en esas plantillas a través de la interfaz de usuario, como category-wordpress , taxonomy-genre o las docenas de otras posibilidades. Sin embargo, sucederá algún día.