La nueva versión de WordPress incluye incluye más de 350 mejoras en el editor visual y más de 250 en el core. Veamos qué significan estas novedades para usuarios, y desarrolladores.
👤 Novedades para usuarios
Tenemos un nuevo tema por defecto, Twenty Twenty-Three, que funciona sobre Full Site Editing e incluye variaciones de tema que son un buen ejemplo sobre cómo puede cambiar el aspecto del sitio sin cambiar el tema.
En el editor visual más bloques tienen más opciones de configuración, pudiendo modificar: fuente, margin, padding y border en muchos de ellos (el objetivo es ponerlo en todos los posibles).
⚒️ Novedades para integradores
En Full Site Editing mejora la gestión de plantillas para que podamos asignar plantillas personalizadas (aspecto de toda la página) a entradas, páginas, taxonomías, o cpt específicos. De este modo se aproxima al «Template Hierarchy» de los temas clásicos.
Y de paso algunas mejoras a la creación de plantillas, como que al crear una nueva el sistema carga la configuración de la más cercana para no tener que empezar desde cero cada vez.
En pocas palabras, aunque creo que no era la intención inicial: Esto cada vez se parece más a Elementor. (Aunque manteniendo las ventajas de eficiencia de gutenberg).
Atención: Cambio que puede confundirte. Al editar una entrada ahora la configuración de enlace permanente (slug) no tiene su propia sección, aparece dentro del resumen.
Otros detalles:
- El bloque de lista ahora permite cambiar fácilmente el orden de los elementos (como si movieras un bloque).
- Enlaces sociales ahora incluye icono Whatsapp (a mi me ha venido bien para algún proyecto).
- Mejoras en accesibilidad y eficiencia.
🧑💻 Novedades para desarrolladores
Una novedad interesante es el cacheo de las consultas WP_Query, que mejorará el rendimiento de aquellos sitios que no tengan caché de página o consultas que no podían tener delante una caché de página.
Ahora los temas tradicionales pueden usar partes de plantilla para elementos dentro del tema. Esto es algo que viene genial para crear los footers y sidebars en temas tradicionales sin tener que usar la parte de widgets.
La REST API mejora la búsqueda, pudiendo buscar solo por ID (sin conocer el tipo de elemento) e incluyendo y excluyendo IDs de las búsquedas.
Ahora los temas que desarrollamos pueden evitar ser sobrescritos por temas del repositorio si tienen el mismo nombre. Solo habría que configurar el parámetro Update URI.
La acción send_headers se mueve de sitio, un poquito hacia adelante, para poder usar dentro de ella las funciones is_ (como is_singular). No debería fallar si no has hecho cosas no relacionadas con los HTTP headers en send_headers.
Editor y bloques
Mejoras en el rendimiento de carga de archivos block.json (que es el que tiene que usarse desde 5.8 para cargar bloques personalizados). El sistema transforma automágicamente el contenido de los block.json en un array PHP.
También el archivo block.json aumenta funcionalidades pudiendo renderizar un bloque directamente desde un archivo PHP o pudiendo añadir múltiples scripts a un bloque.
Como habrás visto ahora se puede configurar margin y padding en más bloques. Te habrás percatado que el sistema no usa valores numéricos concretos sino un rango de números (aunque pulsando en configuración puedes poner un valor concreto). ¿Qué valores tienen esos números? Pues el que los desarrolladores configuremos en el theme.json . Me parece una buena idea porque permitiría cambiar el tema en el futuro pudiendo re-configurar al menos parcialmente estos espaciados. De este modo un 1 podría ser 0.44rem, un 2 podría ser 0.67rem y un 3 podría ser 1rem y así. Y estos espaciados se podrían cambiar a posteriori.
Desde 6.0 existe una API para que pueda aparecer un mensaje modal con el que elegir un patrón al crear una nueva página. Ahora este modal se puede introducir también en CPTs.
Posibilidad de configurar tipografías fluidas, que cambian de tamaño entre un mínimo un máximo para mejorar la adaptación a distintas pantallas sin la necesidad de hacer los tradicionales «saltos» de tamaño.
El archivo theme.json puede tomar parámetros leyendo desde otros parámetros. Básicamente con esto no tenemos que repetir valores y podemos establecer referencias dentro del propio theme.json
Posibilidad de filtrar el contenido de theme.json
Otros cambios
Dos verificaciones adicionales en Salud del sitio para verificar si un sitio en producción está usando caché a nivel de página y a nivel de objetos.
Nuevas funciones: is_term_publicly_viewable($term_id)
: Para saber si un term se puede mostrar públicamente. did_filter($tag)
: Para detectar si un filtro se ha ejecutado, funcionamiento similar a did_action($tag)
Y filtros nuevos.
La importancia de la comunidad
Recuerda que estos cambios los hace la comunidad para la comunidad. Tu también puedes colaborar en el proyecto, testando nuevas implementaciones, aportando feedback, desarrollando, realizando documentación, diseño, traducciones o divulgación.
WordPress es software libre, gracias a esto y su comunidad todos podemos tener una herramienta que mejora enormemente cada pocos meses.
Recuerda dar las gracias a todos los que participan y considera aportar en el proyecto.