Preparación para WordPress 5.4: cambios que los desarrolladores de complementos y temas deben conocer
Publicado: 2020-03-05Con el inminente lanzamiento de WordPress 5.4, es hora de que los desarrolladores de complementos y temas comiencen a probar sus extensiones y se aseguren de que no haya problemas. También hay nuevas API para las próximas funciones. Ayer, el equipo central lanzó la primera versión candidata para 5.4. El lanzamiento oficial está previsto para el 31 de marzo.
Esta publicación servirá como una guía rápida con enlaces a varios cambios importantes que los desarrolladores deben tener en cuenta en las próximas semanas. Asegúrese de probar sus complementos y temas.
Desarrolladores de temas

Hay varios cambios con los que los autores de temas querrán probar. WordPress 5.4 tiene algunas características adicionales de temas. También tiene varios cambios relacionados con el marcado que podrían romper los diseños de temas en la interfaz y en el editor de bloques. Desafortunadamente, para los autores de temas que desean admitir varias versiones de WordPress, algunos de estos cambios pueden significar un poco de CSS adicional.
Iconos sociales y bloques de botones
WordPress 5.4 introduce dos nuevos bloques: iconos y botones sociales. El bloque de íconos sociales permite a los usuarios insertar íconos/enlaces para hasta 40 redes sociales diferentes. El bloque de botones permite a los usuarios agrupar varios bloques de botones. Los autores de temas que están implementando estilos de editor de bloques personalizados deben tener en cuenta estos nuevos bloques para asegurarse de que se generen correctamente.
Crear ajustes preestablecidos de degradado personalizados
La nueva API de degradados permite a los autores de temas definir ajustes preestablecidos de degradados personalizados para que los usuarios los utilicen con el grupo o los bloques de botones. Los autores de temas deberán hacer un poco de trabajo preliminar para mejorar la monstruosidad que son los ajustes preestablecidos de gradiente predeterminados. Con un poco de trabajo, los degradados pueden ser una herramienta útil a disposición del usuario. Los autores de temas también pueden deshabilitar los degradados por completo si prefieren no admitirlos.
Marcas del editor de bloques y cambios de estilo
Los autores de temas que se han dirigido directamente a clases de editor específicas, deberán verificar sus estilos de editor de bloques. Muchas clases con el prefijo editor- han sido cambiadas para usar el prefijo block-editor- . El elemento contenedor con la .edit-post-layout__content se eliminó por completo. Se eliminaron varios elementos envolventes de los bloques y del componente de texto enriquecido. El relleno incorporado de Core y los márgenes negativos en los bloques se han refactorizado, lo cual es una adición bienvenida. Quizás los autores de temas ya no tengan que luchar contra múltiples selectores anidados para proporcionar un diseño de trabajo básico que coincida con el front-end.
Estos cambios ya han roto varios temas que he visto. Es muy probable que muchos autores de temas necesiten actualizar sus estilos de editor de bloques.
En un momento en que el equipo de revisión de temas solicita que más autores de temas envíen temas con estilos de editor personalizados, este tipo de cambios en las clases y el marcado no son un impulso de confianza. Los desarrolladores de temas pueden sentir fácilmente que están peleando una batalla perdida. Sin embargo, el trabajo está avanzando para hacer que el marcado del editor se acerque más a una coincidencia uno a uno con el front-end. En algún momento, los autores de temas solo pueden esperar que ya no necesiten lidiar con este tipo de cambios mientras brindan soporte a los usuarios en múltiples versiones de WordPress. Por ahora, se encuentran en una fase de transición algo desordenada.
Marcado de calendario y cambios de clase
El equipo central cambió el marcado de la función get_calendar() , que también afecta al widget Calendario. La salida del calendario ya no tiene un elemento <tfoot> . En su lugar, los enlaces del mes anterior y siguiente se movieron a un elemento <nav> debajo del elemento <table> .
La salida del calendario también agrega o cambia múltiples ID y clases:
-
.wp-calendar-tableagregado al elemento contenedor. -
.wp-calendar-navagregado al elemento contenedor de navegación. -
.wp-calendar-nav-nextreemplaza el#nextID en el enlace del próximo mes. -
.wp-calendar-nav-prevreemplaza la ID#preven el enlace del mes anterior.
Estos son cambios de última hora. Cualquier CSS personalizado que tenga como objetivo el código HTML o los ID antiguos deberá actualizarse.

Desarrolladores de bloques

Para los desarrolladores de complementos que crean bloques personalizados, WordPress 5.4 presenta varias API y herramientas nuevas para trabajar con el sistema de bloques.
Andamios de bloque
Los desarrolladores tienen un nuevo paquete NPM para crear rápidamente un complemento de bloque. Con un solo comando de npm init @wordpress/block <plugin-name> , la secuencia de comandos creará un nuevo directorio y generará los archivos PHP, CSS y JavaScript apropiados necesarios para crear un complemento de bloque. Los desarrolladores pueden usar herramientas modernas de JavaScript de forma predeterminada u optar opcionalmente por usar una versión ES5.
La intención del paquete de andamios de bloques es que los autores de complementos construyan complementos de un solo bloque que eventualmente llegarán al directorio oficial de bloques.
API de colecciones de bloques
La API de colecciones de bloques funciona de manera similar a las categorías. Sin embargo, se basan en el espacio de nombres. Cuando un desarrollador de complementos registra una colección personalizada, los bloques que comparten el espacio de nombres de la colección aparecerán en una sección personalizada en el insertador de bloques. Esta parece ser una forma más inteligente de organizar bloques. Sin duda, será útil para los complementos que crean bibliotecas de bloques, proporcionando una forma automática de agruparlos.
API de variaciones de bloque
La nueva API de variaciones de bloques permite a los desarrolladores de bloques crear esencialmente copias de bloques con una variación. Cada variación registrada aparecerá como un bloque separado en el insertador de bloques para que los usuarios puedan elegir.
Un buen ejemplo de esta función es el nuevo bloque de iconos sociales. Es un bloque único con 40 variaciones para las distintas redes sociales.
Otros cambios relacionados con el desarrollador
Hay un par de otros cambios de nota que se cruzan con el territorio de desarrollo de complementos y temas.
Nuevos ganchos del menú de navegación
Después de esperar y esperar y esperar, los desarrolladores finalmente obtienen algunos enlaces solicitados con frecuencia para agregar campos personalizados a la pantalla de administración del menú de navegación y al personalizador. Al menos un billete tiene una antigüedad de 9 años, pero más vale tarde que nunca. En el pasado, los desarrolladores necesitaban usar una clase de caminante personalizada para realizar algunas de las personalizaciones necesarias. Sin embargo, solo se podía usar una sola clase de caminante a la vez, lo que significaba que múltiples complementos que hacían cambios no funcionarían juntos.
El equipo central agregó el nuevo wp_nav_menu_item_custom_fields en la pantalla de administración de los menús de navegación, que aparece antes de los botones "mover" para elementos de menú individuales. Para la paridad con el administrador, los elementos del menú de navegación tienen un nuevo wp_nav_menu_item_custom_fields_customize_template en el personalizador. Estos ganchos permitirán a los desarrolladores agregar campos de formulario personalizados necesarios para agregar datos personalizados a los elementos del menú de navegación.
Función de alias apply_shortcodes()
WordPress 5.4 introduce una nueva función apply_shortcodes() . Es un alias para la función do_shortcode() . La nueva función proporciona un nombre de función más semánticamente correcto. Generalmente, funciones con prefijo do_ esperan salida o algún tipo de acción. Las funciones con un prefijo de apply_ esperan que se devuelvan datos.
Si está creando un tema o un complemento con áreas compatibles con códigos abreviados, querrá cambiar a la nueva función. Si bien la función do_shortcode() actualmente no está marcada como obsoleta, ese debería ser el objetivo final.
