WordPress 5.3 «Kirk» fue lanzado oficialmente el 12 de noviembre de 2019 y está disponible para su descarga.

¿Qué cambió con WordPress 5.3?

En primer lugar, un gran número de versiones del plugin de Gutenberg se han fusionado en el núcleo, de 5.4 a 6.6. Esto significa que veremos un gran número de características y mejoras tanto para los usuarios como para los desarrolladores, así como un importante aumento del rendimiento.

Pero hay mucho más que Gutenberg en WordPress 5.3. De hecho, esta versión incluye varias mejoras relacionadas con la Herramienta de Salud del Sitio, un nuevo tema predeterminado (Twenty Twenty), mejoras en la Interfaz de Usuario de Administración, mejor soporte para PHP 7.4, mejor accesibilidad y más.

Eso es un montón de cosas increíbles, ¿verdad? Por lo tanto, vamos a abrocharnos el cinturón y profundizar nos en WordPress 5.3.

¿Qué hay de Nuevo con el Editor de Bloques?

Desde su lanzamiento, el Editor de Bloques ha sido mejorado regularmente gracias al compromiso de colaboradores de todo el mundo. Sin embargo, las nuevas versiones no se fusionan en el núcleo tan pronto como están disponibles.

Con 5.3, trece versiones del plugin de Gutenberg se han fusionado en el núcleo de una sola vez. Por lo tanto, si no ha estado usando el plugin de Gutenberg hasta ahora, y no lo ha actualizado regularmente con el tiempo, encontrará muchas mejoras y nuevas características en el Editor de bloques con el lanzamiento de WordPress 5.3.

También se ha informado de mejoras generales en el rendimiento. El siguiente punto de referencia compara el rendimiento de un mensaje enorme (36.000 palabras/1.000 bloques) con diferentes versiones del plugin de Gutenberg.

Puede no notar la diferencia en el tiempo de carga con los mensajes regulares, pero está bastante claro la mejora general en el rendimiento del editor.

Versión Tiempo de Carga Evento KeyPress (Escribir)
Gutenberg 6.6.0 4.7s 38.96ms
Gutenberg 6.5.0 4.68s 42.96ms
WordPress 5.2 5.69s 57.65ms

Sería difícil hacer una lista completa de todas las adiciones, cambios y correcciones de errores, por lo que seleccionamos aquellas con mayor impacto en la experiencia del usuario/desarrollador y las agrupamos de la siguiente manera:

Mejoras en la Experiencia de Edición

Si no ha instalado el plugin de Gutenberg anteriormente, encontrará un nuevo bloque: el bloque Grupo. Añadido al editor con el lanzamiento de Gutenberg 5.5, el bloque Group es un contenedor multiusos para otros bloques que le permite crear plantillas de bloques avanzadas para ser incluidas en cualquier página de su sitio web WordPress.

El nuevo bloque de Grupo soporta alineaciones amplias y colores de fondo, dando a los usuarios de WordPress mucha libertad a la hora de crear contenido.

Además del bloque Group, hemos echado un vistazo a diez mejoras en el Editor de bloques que deberían tener un gran impacto en la forma en que se está utilizando el editor.

1. El Bloque de Anexos

Los bloques de Grupo y Columnas ahora muestran un bloque de anexos en estado vacío. El anexo es sólo un área gris con un signo más en el interior que hace que la interfaz de usuario sea más clara y mejora la usabilidad del bloque.

Un bloque de Grupo vacío en WordPress 5.3
Un bloque de Grupo vacío en WordPress 5.3

2. Agrupación de Bloques por Interacción de Grupo

Ahora puede crear bloques de grupo mediante la interacción’group’, lo que significa que puede seleccionar varios bloques y agruparlos con unos pocos clics. Sólo tiene que añadir todos los bloques que necesite a la selección, luego haga clic en Agrupar en el menú. Hecho!

Verificación del correo electrónico del administrador de WordPress
Verificación del correo electrónico del administrador de WordPress

Para desactivar las verificaciones de correo electrónico del administrador, puede utilizar el siguiente filtro:

add_filter( 'admin_email_check_interval', '__return_false' );

3. Personalización con Columnas

El bloque Columnas ahora soporta un control deslizante en la configuración del bloque que le permite establecer un ancho personalizado para cada columna (en una versión futura, podemos esperar más mejoras en el bloque Columnas con la introducción de un control de redimensionamiento arrastrable).

El bloque Columnas en WordPress 5.3
El bloque Columnas en WordPress 5.3

4. Un Selector de Disposición para Bloques de Columnas

Una mejora adicional al bloque Columnas en WordPress 5.3 es el selector de diseño. Añadida al editor con Gutenberg 6.0, esta función permite a los usuarios elegir entre varios diseños predefinidos (patrones) o saltar al diseño predeterminado, lo que acelera un poco el proceso de edición y hace que el bloque sea más fácil de usar para los usuarios con menos conocimientos técnicos.

El selector de disposición de bloque Columnas
El selector de disposición de bloque Columnas

El selector de diseño es una implementación de la API de Patrones de Bloque que proporciona una forma de elegir entre un conjunto predefinido de opciones para elegir cuando se agrega un bloque. Aparte del bloque Columnas, podemos encontrar ejemplos de patrones de bloques en los bloques Tabla y Cubierta. Puede leer más sobre la API de Patrones de Bloque en GitHub.

El patrón de bloques de la cubierta
El patrón de bloques de portada

5. Mejoras en los Bloques de Tablas

El bloque de tabla se ha mejorado con varias características nuevas. Ahora soporta alineaciones de texto en columnas, encabezado y pie de tabla y colores de fondo.

El nuevo bloque de tabla soporta alineaciones de texto, encabezado y pie de página, y colores de fondo.
El nuevo bloque de tabla soporta alineaciones de texto, encabezado y pie de página, y colores de fondo.

6. Modo de Navegación en Bloque

Gutenberg 6.3 introdujo el Modo de Navegación para navegar entre bloques usando Tab o teclas de flecha sin entrar en el contenido del bloque. Los usuarios pueden cambiar del modo de navegación al modo de edición y viceversa simplemente pulsando Enter o Esc. Esta característica es una gran mejora en la usabilidad, especialmente cuando se trata de lectores de pantalla.

7. Se Agregó un Movimiento para Bloquear los Cambios y Reorganizaciones

Una mejora adicional en la usabilidad viene con la introducción del movimiento para bloquear cambios, creación, eliminación y reordenación. Matías Ventura explica por qué esta característica es relevante:

Consideremos el caso de una lista que contiene un conjunto de elementos: la acción de mover, reordenar, etc., no sólo afecta al único elemento sobre el que se está actuando, sino también al resto del conjunto, en particular al que es el «intercambio de lugares». La realidad nos transmite que para poner algo en el lugar de otra cosa, ambas cosas tienen que moverse. El cambio en el estado general de todo el grupo puede ser más difícil de comprender con sólo cambiar el orden instantáneamente. Se tarda un momento reorganizar. Las transiciones y las interacciones basadas en el gesto generalmente ayudan a conectar estos dos estados de una manera que hace que la interacción (el «lo que acaba de ocurrir») sea más comprensible de inmediato.

Bloquear el movimiento
Bloquear el movimiento

8. Reordenación de Imágenes en Línea en Bloques de Galería

El bloque Galería se ha mejorado con el reordenamiento de imágenes en línea. Ahora podemos reordenar las imágenes en la galería con un simple clic en los botones Mover imagen hacia adelante y Mover imagen hacia atrás sin abrir la pantalla modal multimedia.

El bloque mejorado de la Galería
El bloque mejorado de la Galería

9. Mejoras en el Bloque de Últimos Artículos

El bloque Últimos Artículos ahora soporta iteración de contenido de extractos y mensajes (ver pull #14627).

El widget Últimos Mensajes soporta contenido de extractos y mensajes
El widget Últimos Artículos soporta contenido de extractos y mensajes

El panel de configuración del bloque contiene ahora una sección donde el usuario puede activar/desactivar el contenido de la publicación. Si el Contenido del mensaje está activo, puede elegir entre las opciones Extracto y Mensaje completo. Por último, un control deslizante le permite controlar la longitud de los extractos si la opción Extracto está seleccionada.

Este último cambio es parte de una estrategia más amplia que se centra en las mejoras generales de la interfaz de usuario. En Iteraciones en el bloque «Latest Posts», Mel Choyce afirma:

En preparación para trabajar en plantillas de páginas en Gutenberg, queremos un conjunto robusto de bloques dinámicos que se puedan colocar en cualquier mensaje o página. La expansión de este bloque nos pondrá en una mejor posición para abordar bloques más complejos, dinámicos o globales en el futuro.

Los usuarios no deberían saber cómo escribir consultas personalizadas o entender el bucle para añadir algunos mensajes a su página de inicio. El bloque de Artículos Recientes es un gran comienzo, pero para ser una solución completamente funcional, necesita soportar algo más que títulos y fechas de publicación.

10. Mejoras en Bloque de Listas

Los bloques de listas ahora soportan accesos directos de indent/outdent, valores de inicio y soporte de orden inverso para listas ordenadas.

Opciones de lista ordenadas en el bloque de lista
Opciones de lista ordenada en el bloque de listas

Mejoras Adicionales al Editor de Bloques

Debido al gran número de versiones de plugins de Gutenberg que se fusionan en el Core, hay toneladas de cambios, mejoras y correcciones de errores que ni siquiera podríamos mencionar aquí. Algunas mejoras adicionales y nuevas características incluyen:

  • El bloque Columnas soporta ahora la alineación vertical (Gutenberg 5.4).
  • El bloque Media & Text soporta ahora la alineación vertical (Gutenberg 5.5).
  • El bloque de botones ahora soporta una opción de enlace de destino (Gutenberg 6.2).
  • El bloque Separator ahora soporta el color del borde (Gutenberg 6.3).
  • Los bloques de portada son ahora redimensionables (Gutenberg 6.4).
  • Experiencia mejorada en máquinas de escribir, especialmente útil en móviles (Gutenberg 6.4).
  • El bloque Imagen tiene ahora una variación de recorte de círculo (Gutenberg 6.4).
  • Se ha añadido un nuevo bloque de Enlaces Sociales (Gutenberg 6.5).
  • El bloque Gallery ahora proporciona soporte para los subtítulos de la Galería (Gutenberg 6.5).

Funciones Interesantes para Desarrolladores y Diseñadores de Temas

WordPress 5.3 añade muchas características y mejoras al Editor de bloques para desarrolladores y diseñadores de temas también.

Tres cambios principales involucran a los diseñadores de temas y están relacionados con el CSS y HTML de varios bloques.

1. Grupo Bloque Contenedor Interior

El bloque Group contiene ahora un contenedor interno (wp-block-group__inner-container) que podría extenderse más allá del contenedor principal si no se diseña cuidadosamente. Esto podría provocar efectos inesperados en el aspecto de la página.

Contenedor interior de bloques de grupo en el Editor de bloques
Contenedor interno de grupos de bloques en el editor de bloques.

Por lo tanto, con temas que soportan alineaciones anchas y completas, un contenedor de bloques puede requerir algún CSS adicional para que aparezca como se espera.

Grupo de bloque de contenedor interior en el sitio delantero
Contenedor interno de grupos de bloques en el sitio delantero

He aquí un ejemplo del blog Make WordPress Core que muestra cómo diseñar bloques para evitar este tipo de problemas:

// Apply entry-content styles to the group block's inner container as well. 
.entry-content,
.wp-block-group__inner-container {
	width: 60vw;
	margin: 0 auto;
}
 
// When a group block has a wide alignment, make sure that its full-width children do not extend beyond the width of the container. 
.alignwide,
.wp-block-group.alignwide .alignfull {
	margin-left: -10vw;
	width: 80vw;
}
 
.alignfull {
	margin-left: -20vw;
	width: 100vw;
}
 
// Ensure wide and full-width children do not extend beyond the width of a standard-aligned Group block.
.wp-block-group:not(.alignwide):not(.alignfull) * {
	max-width: 100%;
	margin-left: 0;
}

2. Nuevos Nombres de Clase para Alineaciones de Texto

Antes de WordPress 5.3, se usaban estilos en línea para cambiar la alineación de los bloques de texto (Título, Párrafo, Cita y Verso).

La alta especificidad de los estilos en línea podría dificultar la personalización de la apariencia de estos bloques. Pero los diseñadores temáticos ahora pueden aprovechar tres nuevas clases de CSS que sustituyen a los estilos en línea:

  • has-text-align-right
  • has-text-align-center
  • has-text-align-left

Los bloques existentes se convertirán automáticamente y las clases se aplicarán tan pronto como se abran y guarden los mensajes en el Editor de bloques.

3. Actualización de la Señalización de Bloques de Galería y de Tabla

Los bloques de Galería y Mesa están ahora envueltos en elementos de figure. Los estilos de los elementos cambian en consecuencia y los temas pueden verse afectados y pueden requerir una actualización. Aquí está el nuevo recargo para un bloque de tabla:

<figure class="wp-block-table is-style-stripes">
	<table class="">
		<tbody>
			<tr>
				<td>Left</td>
				<td>Center</td>
				<td>Right</td>
			</tr>
		</tbody>
	</table>
</figure>

Vea más detalles sobre los nombres de las clases y los cambios adicionales relacionados con el tema en el blog Make WordPress Core.

Funciones para Desarrolladores de Bloques

WordPress 5.3 trae cambios y mejoras a las APIs de bloques.

1. Registrar y Cancelación de Estilos de Bloques

Antes de la versión 5.3, los desarrolladores y diseñadores tenían que escribir algo de JavaScript para registrar/cancelar estilos.

Con el lanzamiento de WordPress 5.3, ahora podemos aprovechar dos nuevas funciones de ayuda que permiten registrar y cancelar estilos de bloques a través de PHP: register_block_style y unregister_block_style.

La función register_block_style registra un nuevo estilo para el bloque especificado. La función mantiene dos argumentos:

  • el nombre del bloque.
  • una serie de propiedades de estilo.

La tabla puede incluir los siguientes parámetros:

  • name: (requerido) un identificador único para el estilo.
  • label: (obligatorio) etiqueta legible por el ser humano.
  • inline_style: (opcional) un código CSS que registra la clase CSS para el estilo.
  • style_handle: (opcional) una manija para un estilo ya registrado (la manija de estilo hace cola en el estilo donde se necesita).

Podemos registrar estilos en línea con algo como el siguiente código:

add_action( 'init', 'register_custom_block_style' ); 

function register_custom_block_style() {
	if( ! function_exists( 'register_block_style' ) ) return;

	register_block_style(
		'core/quote',
		array(
			'name'			=> 'blue-quote',
			'label'			=> __( 'Blue Quote' ),
			'inline_style'	=> '.wp-block-quote.is-style-blue-quote { color: blue; }',
		)
	);
};

El nuevo estilo está ahora disponible en la sección Configuración de Estilos.

Una cita con un estilo personalizado en el Editor de bloques
Una cita con un estilo personalizado en el Editor de bloques

En lugar de registrar un estilo en línea, podemos pasar un control a un estilo registrado previamente:

wp_register_style( 'custom-style', get_template_directory_uri() . '/custom-style.css' );
 
register_block_style(
	'core/quote',
	array(
		'name'			=> 'custom-quote',
		'label'			=> 'Custom Quote',
		'style_handle'	=> 'custom-style',
	)
);

La siguiente imagen muestra la cita azul grabada en el ejemplo anterior.

Un presupuesto con un estilo personalizado en la parte delantera
Un presupuesto con un estilo personalizado en la parte delantera

Para cancelar un estilo previamente registrado en el servidor con register_block_style, podemos usar la función unregister_block_style.

Podemos usar unregister_block_style como sigue:

unregister_block_style( 'core/quote', 'custom-quote' );

2. Ejemplo de Bloque API

WordPress 5.3 añade una nueva propiedad JS que permite previsualizar el bloque seleccionado de la biblioteca antes de añadirlo al contenido.

Podemos añadir soporte para esta característica definiendo la propiedad de example en la configuración del bloque de la siguiente manera:

const blockSettings = {
	// ... 
 
	example: {
		attributes: { 
			content: __( 'Content of the block' )
		},
		innerBlocks: []
	} 
}
registerBlockType( name, settings );
Ejemplo de bloque API
Ejemplo de bloque API

Mejoras en el Componente de Salud del Sitio

WordPress 5.2 introdujo la herramienta Site Health para proporcionar información sobre la salud de un sitio web y para ayudar a los administradores del sitio a recuperar sus sitios web cuando experimentan dificultades técnicas. Con el lanzamiento de WordPress 5.3 la herramienta Site Health obtienevarias mejoras y cambios en ambos lados del componente.

1. Calificación de la Salud del Sitio Eliminado

En WordPress 5.2, se mostró un porcentaje de puntuación en la parte superior de la página de estado de salud del sitio. Sin embargo, algunas personas expresaron su preocupación por la calificación de la puntuación considerándola ambigua y confusa, ya que los usuarios podrían aspirar a alcanzar una puntuación del 100% sobre lo que es mejor para su sitio web (lea más en este ticket).

Página de estado de salud del sitio en WordPress 5.2
Página de estado de salud del sitio en WordPress 5.2

El indicador muestra cuántas pruebas ha superado un sitio, pero no su nivel de «salud». Por esta razón, el porcentaje ha sido eliminado y la herramienta Site Health ahora muestra uno de los dos estados que podrían ser considerados más como recordatorios que indicadores precisos del desempeño y seguridad de un sitio web:

  • Debe mejorarse
  • Bueno
Página de estado de salud del sitio en WordPress 5.3
Página de estado de salud del sitio en WordPress 5.3

2. Emails de Recuperación Mejorados

Cuando se produce un fallo, WordPress intenta enviar un correo electrónico de recuperación al administrador del sitio. Desafortunadamente, estos correos electrónicos no proporcionan información útil para la depuración, y sólo se nos informa de que algo salió mal en nuestro sitio web.

Para proporcionar más información útil para restaurar su sitio web de WordPress, WordPress 5.3 introduce el filtro recovery_email_debug_info, que es una matriz asociada de información de depuración. El correo electrónico de recuperación ahora incluye la información básica que debería ayudarle a solucionar los problemas de su sitio web o, al menos, obtener ayuda de otros.

Los mensajes de correo electrónico de error incluirán una sección adicional que comenzará con la siguiente cadena:

When seeking help with this issue, you may be asked for some of the following information:

A continuación, se proporciona la siguiente información:

  • Versión WordPress.
  • Versión PHP.
  • Tema y versión actual.
  • El nombre y la versión del plugin causante del problema.

La información se reduce intencionadamente al mínimo para evitar confusiones a los usuarios finales, pero los desarrolladores pueden utilizar el filtro recovery_email_debug_info para añadir más detalles cuando sea necesario (consulte el ticket 48090 para obtener más información).

3. Filtros para las Pruebas de Estado de Salud de la Obra Completadas

El nuevo filtro site_status_test_result permite a los desarrolladores filtrar la salida de una prueba de estado terminada para ampliar el resultado de una prueba.

Los desarrolladores también pueden utilizar este filtro para proporcionar acciones adicionales. Aquí hay un gran ejemplo de uso (ver ticket #47864):

Un ejemplo podría ser un proveedor de alojamiento, las extensiones PHP faltan, por lo que añaden un enlace activo al administrador de extensiones PHP de su panel de control.
Quizás querían ser más directos, querían la comprobación de la versión PHP, que recomienda la actualización del usuario, añaden un botón ajax que cambiará la versión PHP para ellos en el acto.

Este filtro está disponible tanto en PHP, para pruebas directas, como en JavaScript, para pruebas asíncronas.

Mejoras en la Experiencia Administrativa

Además de la Herramienta de Salud del Sitio, WordPress 5.3 trae varias mejoras en la interfaz de administración que deberían mejorar considerablemente la experiencia general de todo el panel de control de WordPress.

1. Contraste de Color Mejorado

Se ha mejorado el contraste de color y se han solucionado muchos problemas de accesibilidad.

Pantalla de Mensajes en WordPress 5.2
Pantalla de Mensajes en WordPress 5.2
Pantalla de Mensajes en WordPress 5.3
Pantalla de Mensajes en WordPress 5.3

2. Verificación de Correo Electrónico del Administrador

Una verificación de correo electrónico del administrador ahora se activa después de que el administrador no ha iniciado sesión en un período de tiempo. De forma predeterminada, este intervalo está establecido en seis meses, pero los desarrolladores pueden establecer un intervalo diferente utilizando el filtro admin_email_check_interval (vea los tickets #46349 y #48144).

Verificación del correo electrónico del administrador
Verificación del correo electrónico del administrador

3. Reanudación de Uploads

Subir imágenes grandes desde un smartphone no romperá las cosas en medio del proceso ya que WordPress ahora soporta reanudar las subidas cuando fallan.

4. Rotación de Imagen

Las imágenes ahora se rotan correctamente al cargarlas de acuerdo con los metadatos de orientación EXIF.

Un Nuevo Tema por Defecto: Twenty Twenty

WordPress 5.3 viene con un nuevo tema por defecto: Twenty Twenty. Es un tema mínimo diseñado para la flexibilidad, claridad y legibilidad, con un enfoque especial en el Editor de bloques.

Twenty Twenty Tema de WordPress
Twenty Twenty Tema de WordPress

Twenty Twenty se ha construido sobre un tema libre existente en la comunidad, Chaplin de Andérs Noren, y presenta un tipo de letra libre y de código abierto con una fuerte personalidad: Inter por Rasmus Andersson.

Puede leer más sobre Twenty Twenty en nuestro blog: Twenty Twenty: Una introducción al nuevo tema predeterminado de WordPress.

Cambios para Desarrolladores de WordPress

WordPress 5.3 viene con varios cambios y mejoras para los desarrolladores de WordPress. Entre los muchos cambios, creemos que vale la pena mencionar estos:

Mejoras en los Componentes Principales de fecha/hora

El componente principal de Date/Time se ocupa de todo lo relacionado con la fecha, la hora y las zonas horarias en WordPress. Como explica Andrey «Rarst» Savchenko:

El componente Fecha/Hora se basaba en la llamada «marca de tiempo de WordPress» – una suma de la marca de tiempo de Unix con un desplazamiento de zona horaria. Esto estaba causando muchos errores y falta de interoperabilidad con PHP o cualquier otro sistema externo. La documentación en línea se refiere erróneamente a estos como marcas de tiempo Unix.

Aunque era imposible eliminar completamente las marcas de tiempo de WordPress sin problemas de compatibilidad con versiones anteriores, el código del componente se ha mejorado con varias correcciones de errores, y la documentación en línea se ha actualizado y corregido cuando ha sido necesario.

Además, con el lanzamiento de WordPress 5.3 tenemos acceso a varias funciones nuevas de Fecha/Hora de la API:

  • wp_timezone_string() – Esta función recupera la zona horaria del sitio como cadena. Puede devolver una cadena de zona horaria PHP o un offset ±HHH:MM.
  • wp_timezone() – Esta función recupera la zona horaria del sitio como objeto DateTimeZone.
  • wp_date() – Esta es una nueva función para la localización de fechas. Está pensado para reemplazar date_i18n().
  • current_datetime() – Esta función recupera la hora actual como objeto DateTimeImmutable con la zona horaria desde los ajustes
  • get_post_datetime() – Recupera el objeto DateTimeImmutable de la hora de publicación.
  • get_post_timestamp() – Recupera la hora del post como la hora de Unix.

Todas estas funciones están definidas y documentadas en wp-includes/functions.php.

El uso de current_time(), get_post_time() y date_i18n() es ahora desaconsejado.

Vea también las mejoras en los componentes de Fecha/Hora en WordPress 5.3 y Nuevas funciones para agregar a la API en GitHub.

Nuevos Atributos de Aria-Label en los Menús de Navegación

Cuando se publica una nueva página o mensaje, su nombre aparece en varios menús y widgets. Antes de WordPress 5.3, muchos usuarios no habrían reconocido ese enlace y esto podría haber sido confuso especialmente para los usuarios con discapacidades y/o usuarios con lectores de pantalla.

Con el lanzamiento de WordPress 5.3, un nuevo atributo aria-current="page" es añadido programáticamente para señalar enlaces a la misma página y se anima a los desarrolladores de temas a añadir estilos específicos a esos enlaces. Este cambio afecta a los siguientes widgets principales:

  • Mensajes recientes.
  • Menú de navegación.
  • Páginas.
  • Categoría.
  • Archivos.

Aquí hay un ejemplo de uso:

a[aria-current] {
	/* CSS styles for current link */
}

Nuevos Atributos de la Etiqueta aria en los Menús de Navegación

«Los hitos proporcionan una poderosa manera de identificar la organización y estructura de una página web» y permiten a los desarrolladores de temas añadir soporte para la navegación por teclado en páginas web utilizando roles de hito.

Los hitos de ARIA proporcionan un contexto para el contenido de la web y son particularmente útiles para los usuarios de tecnologías de asistencia.

Debido a la importancia de ARIA Landmarks para la accesibilidad, WordPress 5.3 ahora añade soporte para los atributos de aria-label en la navegación de mensajes y comentarios.

Los desarrolladores y diseñadores de temas pueden añadir puntos de referencia ARIA a los menús de navegación de mensajes y comentarios, añadiendo un nuevo parámetro aria_label a las siguientes funciones:

  • _navigation_markup()
  • get_the_post_navigation()
  • get_the_posts_navigation()
  • get_the_posts_pagination()
  • get_the_comments_navigation()
  • get_the_comments_pagination()
  • the_post_navigation()
  • the_posts_navigation()
  • the_posts_pagination()
  • the_comments_navigation()
  • the_comments_pagination()

Lea más sobre los atributos aria-label en la navegación de mensajes y comentarios en Make WordPress Core.

Funciones para Agregar valor UGC a los Atributos rel en los Enlaces

En septiembre de 2019, Google anunció dos nuevos atributos que permiten identificar la naturaleza de los enlaces: rel="sponsored" y rel="ugc":

rel=»ugc»: UGC significa User Generated Content (Contenido generado por el usuario), y el valor del atributo ugc se recomienda para los enlaces dentro del contenido generado por el usuario, tales como comentarios y mensajes en los foros.

WordPress 5.3 añade soporte para el atributo rel="ugc" en los comentarios. Este cambio se ha implementado en pocas horas y es interesante ver la rapidez con la que el equipo de desarrollo reaccionó ante el anuncio de Google (ver ticket #48022).

Además, WordPress 5.3 introduce dos nuevas funciones que permiten a los desarrolladores añadir valores nofollow y ugc a los atributos rel en los enlaces:

  • wp_rel_callback() se usa para agregar valores a los atributos rel a los enlaces especificados, y reemplaza a la ahora obsoleta función wp_rel_nofollow_callback().
    La función está definida en wp-includes/formatting.php:
    /**
    	 * Callback to add a rel attribute to HTML A element.
    	 *
    	 * Will remove already existing string before adding to prevent invalidating (X)HTML.
    	 *
    	 * @since 5.3.0
    	 *
    	 * @param array  $matches Single match.
    	 * @param string $rel     The rel attribute to add.
    	 * @return string HTML A element with the added rel attribute.
    	 */
    	function wp_rel_callback( $matches, $rel ) {}
  • wp_rel_ugc() añade los valores nofollow y ugc a los atributos rel en los enlaces.
    La función está definida en wp-includes/formatting.php:
    /**
    		 * Adds `rel="nofollow ugc"` string to all HTML A elements in content.
    		 *
    		 * @since 5.3.0
    		 *
    		 * @param string $text Content that may contain HTML A elements.
    		 * @return string Converted content.
    		 */
    		function wp_rel_ugc( $text ) {
    			// This is a pre-save filter, so text is already escaped.
    			$text = stripslashes( $text );
    			$text = preg_replace_callback(
    				'||i',
    				function( $matches ) {
    					return wp_rel_callback( $matches, 'nofollow ugc' );
    				},
    				$text
    			);
    			return wp_slash( $text );
    		}

De ahora en adelante, los desarrolladores pueden añadir el atributo rel="nofollow ugc" a los enlaces de la siguiente manera:

$link = 'User generated link example';
$ugc_link = wp_rel_ugc( $link );
echo $ugc_link;
// output: User generated link example

La API REST en WordPress 5.3

WordPress 5.3 trae varios cambios y mejoras a la API de REST.

Uno de los cambios más relevantes es el soporte para los tipos de datos "object" y "array" para las funciones register_meta.

Con esta mejora, la API de REST ahora soporta de forma nativa tipos de metadatos complejos. Esto nos permite utilizar la API para realizar la validación basada en esquemas y podría simplificar la interacción del código del cliente con valores complejos y, en última instancia, permite a los desarrolladores crear bloques complejos basados en metadatos a través de la API REST.

Para una visión más detallada de este tema, ver WP 5.3 Soporta Meta Tipos de Objetos y Arreglos en la API de REST.

Una segunda mejora significativa afecta al parámetro _fields que permite limitar los campos incluidos en los objetos JSON devueltos desde la API REST. Véase el siguiente ejemplo:

/wp/v2/posts?_fields=id,title,author

Desde WordPress 5.3, el parámetro _fields se puede utilizar para filtrar el objeto de respuesta de la API REST por campos anidados, de forma que podamos preguntar por metacampos o propiedades específicas dentro de un objeto complejo. Podemos utilizar el parámetro _fields de la siguiente manera:

?_fields=meta.meta-key-1,meta.meta-key-2,meta.meta-key-3.nested-prop

Para una descripción más completa de las mejoras de la API de REST que vienen con WordPress 5.3, vea La API de REST en WordPress 5.3.

¿Cómo Actualizar a WordPress 5.3?

WordPress 5.3 fue lanzado el 12 de noviembre de 2019. Puede seguir las instrucciones sobre cómo actualizar su sitio.

Como el sitio de cada cliente es diferente, siempre debes utilizar el entorno de staging estándar que proporciona Kinsta (o añadir un nuevo entorno de staging Premium si tu staging existente ya está en uso). Puede clonar su sitio en vivo en cuestión de segundos y luego probar WordPress 5.3 con su tema y plugins existentes para comprobar su compatibilidad. Por supuesto, también puede hacer una copia de seguridad manual antes de actualizar su sitio en vivo, sólo para estar seguro.

Para actualizar WordPress a 5.3 simplemente haga clic en el icono de actualizaciones en el panel de control de su administrador de WordPress. Y haga clic en el botón «Actualizar ahora». Mientras su sitio se actualiza, estará en modo de mantenimiento. Tan pronto como sus actualizaciones estén completas, su sitio volverá a la normalidad.

Actualización a WordPress 5.2 en el panel de control
Actualización a WordPress 5.2 en el panel de control

Siempre y cuando todo vaya bien con la actualización, debería ver la pantalla «Welcome to WordPress 5.3». Y eso es todo! Rápido y fácil.

Pantalla de bienvenida de WordPress 5.3
Pantalla de bienvenida de WordPress 5.3

Después de hacer clic en el panel de control, también recibirá un mensaje para actualizar su base de datos a la versión más reciente. Simplemente haga clic en el botón «Actualizar la base de datos de WordPress» y ya está.

Se requiere actualización de la base de datos
Se requiere actualización de la base de datos

Solucionar Problemas con WordPress Update

Cada vez que la gente actualiza una versión principal de WordPress, siempre hay algunos que experimentan problemas, y eso se debe a los miles de diferentes plugins y temas que coexisten actualmente en el mercado. He aquí algunas maneras de solucionar problemas comunes.

  • Es posible que su sitio aún esté parcialmente almacenado en caché. Puede resolver esto limpiando la caché de páginas completas en su sitio de WordPress.
  • Intente desactivar todos sus plugins para ver si eso soluciona el problema. Luego reactívalos uno por uno hasta que encuentre qué plugin podría necesitar una actualización del desarrollador.
  • Intente cambiar a un tema predeterminado de WordPress, como Twenty Twenty. Si esto soluciona el problema, es posible que desee ponerse en contacto con el desarrollador del tema.
  • Solucionar problemas y diagnosticar JavaScript issues en su navegador.

Resumen

Hemos descrito las características y mejoras más interesantes de WordPress 5.3.

Con trece versiones del plugin de Gutenberg fusionadas en el núcleo, varias mejoras a la Herramienta de Salud del Sitio, un nuevo tema predeterminado, mejoras en la interfaz de administración, nuevas funciones y características para desarrolladores y diseñadores de temas, mejor soporte para PHP 7.4, y un increíble número de pequeños cambios, correcciones de errores y deprecaciones, WordPress 5.3 establece un hito importante en la evolución del CMS.

¿Cuáles son sus características/mejoras favoritas? ¿Nos hemos perdido algo importante? Comparta sus ideas con nosotros en la sección de comentarios.

Carlo Daniele Kinsta

Carlo es un diseñador y desarrollador de front-end freelance. Cuando escribe artículos y tutoriales, Carlo se ocupa principalmente de los estándares web, pero cuando juega con sitios web, su mejor compañero de trabajo es WordPress.