La nueva versión de WordPress 3.4 trae muchas mejoras, incluyendo fondos y encabezados personalizados, un personalizador de temas “en vivo”, XML-RPC mejorado, mejor soporte para internacionalización, muchos bugs arreglados y mejoras.

Vamos a ver en detalle algunas de estas nuevas mejoras.

Encabezado y Fondo Perzonalizado

Los encabezados y fondos personalizados son manejados por la función add_theme_support, la misma que se utiliza para agregar soporte a las imágenes destacadas, los links de los feeds automáticos y ahora los encabezados y los fondos se agregan a la lista.

Añadir un Fondo Personalizado

Para usar esta característica, sólo tenemos que llamar la función add_theme_support() con ‘custom-background’ como su primer argumento, y una lista de opciones como segundo  (esta función sustituye a add_custom_background() ). Aquí está un ejemplo básico:

$args = array(
	'default-image'          => get_template_directory_uri() . '/images/fondo.png',
	'default-color'          => '#fefefe',
	'wp-head-callback'       => '',
	'admin-head-callback'    => '',
	'admin-preview-callback' => ''
);

add_theme_support( 'custom-background', $args )

Si se fijan en los argumentos podemos poner una imágen y color por defecto en este caso la ímagen es fondo.png y el color #fefefe. Todos estos argumentos son opcionales simplemente colocando add_theme_support(‘custom-background’) es suficiente para habilitarlo.

Una vez que el código esté en el archivo functions.php de tu tema, vas a ver los cambios en la Administración de WordPress bajo Apariencia>Fondo:

Wordpress 3.4 Fondo Personalizado

WordPress 3.4 Fondo Personalizado

Para hacer el tema compatible con versiones anteriores de WordPress tenemos que utilizar una función adicional para chequear la versión de WordPress y hacemos algo como esto:

if ( is_wp_version( '3.4' ) )
	add_theme_support( 'custom_background' ); 
else
	add_custom_background( $args );

La función is_wp_version la encontré en el siguiente enlace http://wikiduh.com/1611/php-function-to-check-if-wordpress-is-at-least-version-x-y-z y es:

// checks is WP is at least a certain version (makes sure it has sufficient comparison decimals
function is_wp_version( $is_ver ) {
    $wp_ver = explode( '.', get_bloginfo( 'version' ) );
    $is_ver = explode( '.', $is_ver );
    for( $i=0; $i<=count( $is_ver ); $i++ )
        if( !isset( $wp_ver[$i] ) ) array_push( $wp_ver, 0 );

    foreach( $is_ver as $i => $is_val )
        if( $wp_ver[$i] < $is_val ) return false;
    return true;
}

Esta función se debe colocar también en el archivo functions.php del tema de WordPress.

Añadir un Encabezado Personalizado

Es muy parecido al procedimiento anterior, se agrega la función add_theme_support(‘custom_header’ ) y sustitye a la función add_custom_image_header. Lo bueno de esta nueva función es que nos permite tener encabezados de tamaños flexibles. El código sería el siguiente:

$args = array(
	'flex-height'            => true,
	'height'                 => 300,
	'flex-width'             => true,
	'width'                  => 1000,
	'default-image'          => get_template_directory_uri() . '/images/headers/header.jpg',
	'random-default'         => false,
	'default-text-color'     => '',
	'header-text'            => true,
	'uploads'                => true,
	'wp-head-callback'       => '',
	'admin-head-callback'    => '',
	'admin-preview-callback' => '',
);
add_theme_support( 'custom-header', $args );

Aquí vemos que colocando los parametros flex-height y flex-width definimos que el tamaño pueda ser cambiado.

Ahora nos aparece la opción bajo Apariencia>Cabecera y el ancho y el alto nos aparece como sugerido:

Cabecera Personalizada WordPress 3.4

Cabecera Personalizada WordPress 3.4

Recuerden también utilizar la función is_wp_version que mostramos anteriormente para hacer su tema compatible con versiones anteriores de WordPress.

Live Preview

El Live Preview es algo dificil de explicar en palabras, es una función que nos permite modificar nuestro tema en vivo y es muy bueno para los que diseñamos o desarrollamos temas para WordPress y como un video explica mejor que mil palabras lo pueden ver aquí en acción:

Bastante bueno no?

Para una explicación completa recomiendo este artículo de  Otto – leveraging the theme customizer in your own themes.

Más adelante cuando esté más familiarizado con esta opción podré publicar un artículo al respecto en español.

Internacionalización

Hay algunos cambios en la internacionalización entre ellos:

[list_arrow_black]

  • Localización por comas para lenguajes como Chino y Arabe que no utilizan la coma estándar.
  • Algunos campos son forzados a ser de Izquierda a Derecha (LTR) como por ejemplo las contraseñas y nombres de usuario.
  • El corrector de ortografía ahora se puede traducir. 
  • Comillas simples, apostrofes pueden ser traducidos. 
  • Ahora los string de hora pueden ser traducidos (muy necesitado)
  • Ahora los links por defecto de WordPress y los Widgets del Escritorio pueden ser traducidos
  • Y muchas otras cosas más 

[/list_arrow_black]

Gracias al equipo de WP Polyglots  por su gran trabajo en WordPress 3.4 aquí está la lista completa: http://wppolyglots.wordpress.com/important-changes-for-wordpress-3-4/

Inicio de una nueva API

Aunque esto está debajo del radar, Andrew Nacin ha estado trabajando en una nueva API que va a reemplazar la funcionalidad de get_themes()  (de hecho si tenemos encendido el WP_DEBUG nos dice que ya get_themes está obsoleto). Por ahora no hay mucho a la vista, solo cosas como que puedes colocar archivos de plantillas en subdirectorios, pero debajo del capó la nueva clase va a traer incrementos de velocidad en la búsqueda de temas ya que reduce las operaciones de los archivos del sistema al mínimo.

Bugs y Mejoras

Se arreglaron un total de 401 bugs, 116 mejoras fueron añadidas, 3 características nuevas y 52 tareas completadas en esta actualización hay de hecho mucho más de lo que se ve.

Conclusión

WordPress sigue avanzando y mejorando cada día, cada vez que llega a nuevas versiones el producto cada vez tiene nuevas mejoras y hace la vida de los desarrolladores y usuarios más fácil. Esperemos que se mantenga este ritmo y este nivel de mejoras en cada nueva versión y que se siga construyendo esta gran plataforma.

Espero sus opiniones y preguntas en los comentarios