Está previsto que la versión WordPress 4.7 vea la luz el próximo 6 de Diciembre. A día de hoy tenemos disponible para testing la versión Release Candidate.
Esta nueva versión de WordPress incluye multitud de novedades:
Twenty Seventeen
Como es tradicional… ¡año nuevo tema nuevo! Un nuevo tema por defecto llamado Twenty Seventeen llega a nosotros con un diseño atractivo, animaciones con efecto parallax, menús sociales, mejoras en el personalizador, y enfocado a sitios corporativos.
Puedes ver una demo aquí: http://2017.wordpress.net/
Viene como más opciones de configuración para adaptar logos y colores, así como imagen o vídeo de cabecera. Esta nueva característica permite insertar un vídeo de fondo en la cabecera del tema.
Mejoras en el personalizador
El personalizador sigue creciendo y se han añadido nuevas mejoras. Con Twentyseventeen podremos crear contenido dummy en instalaciones nuevas.
Muy interesante el nuevo icono que nos permite ir directamente desde la previsualización a la edición de un elemento concreto:
Pinchando en el icono azul de editar, accederemos directamente a esa opción dentro del personalizador. También podemos añadir CSS directamente en un textarea e ir haciendo comprobaciones «en caliente».
Idiomas de usuario en la administración
Si tu sitio es multi-idioma y tienes varios usuarios contribuyendo contenido, a partir de ahora podrás seleccionar el idioma de la administración para cada uno de ellos desde su perfil.
Mejoras para desarrolladores
Entre otras muchas novedades, lo más destacado que podemos encontrar:
REST API content endpoints
La REST API que se incluyó en el core en la 4.4 se completa en esta nueva versión WordPress 4.7. Puedo prometer y prometo que escribiré un post sobre esto en un futuro espero no muy lejano.
Acciones por lote personalizadas
Podremos crear nuestras propias funcionalidades para lanzarlas por lote. Aquí podemos encontrar un ejemplo muy práctico donde se crea una acción llamada Email to Eric que nos permitiría notificar por mail a Eric alguna acción relativa a varios posts. Una funcionalidad muy chula, prometo un post sobre esto también cuando pueda sacar un hueco.
Post type templates
¡Qué bueno que viniste! Ahora podremos disponer de plantillas propias para nuestros custom post types. Una nueva característica que nos dará más libertad a la hora de personalizar necesidades concretas para un CPT.
Para ello deberemos agregar a la cabecera de nuestra plantilla además del Template Name para el nombre de la plantilla, el encabezado Template Post Type donde especificaremos los post types para los que estará disponible esta plantilla:
<?php
/**
Template Name: Full-width layout
Template Post Type: post, page, product, event
*/
// … your code here
Nuevas funciones y hooks:
Como suele ser habitual, se añaden nuevas funciones que mejoran o agregan funcionalidad al core de WordPress.
Entre ellas el lote de funciones: get_theme_file_uri(), get_theme_file_path(), get_parent_theme_file_uri() y get_parent_theme_file_path() que a partir de ahora deberemos utilizar en lugar de get_template_directory_uri() y get_template_directory() respectivamente. En caso de utilizar child themes buscará primero en éste y en caso de no encontrar la ruta especificada buscará en el tema padre. Por ejemplo:
wp_enqueue_script( 'my-script', get_theme_file_uri( 'js/my-script.js' ) );
En este ejemplo se encola js/my-script.js desde el child theme. En caso de no encontrarlo, buscará el fichero en el tema padre.
También encontraremos el nuevo filtro {$type}_template_hierarchy. Los tipos disponibles son:
- embed_template_hierarchy
- 404_template_hierarchy
- search_template_hierarchy
- frontpage_template_hierarchy
- home_template_hierarchy
- taxonomy_template_hierarchy
- attachment_template_hierarchy
- single_template_hierarchy
- page_template_hierarchy
- singular_template_hierarchy
- category_template_hierarchy
- tag_template_hierarchy
- author_template_hierarchy
- date_template_hierarchy
- archive_template_hierarchy
- paged_template_hierarchy
- index_template_hierarchy
Nos permitirá por ejemplo insertar nuestras propias plantillas dentro del sistema de jerarquías de WordPress. Ilustran esta nueva característica con el siguiente ejemplo:
<?php
function author_role_template( $templates ) {
// get current author's role
$new_template = array( 'author-$role.php' );
$templates = array_merge(
array_slice( $templates, 0, -1 ), // before
$new_template, // inserted
array_slice( $templates, -1 ) // after
);
return $templates;
}
add_filter( 'author_template_hierarchy', 'author_role_template' );
A parte de todo esto mucho más, lo que hace que WordPress siga creciendo y evolucionando a pasos agigantados.