Normalmente cuando creamos un WP_Query en WordPress lo podemos ordenar por algún campo del post por ejemplo por el título o por la fecha de publicación pero que pasa cuando hemos creado un valor meta y queremos ordenarlo por ese valor, WP_Query viene al rescate.

Supongamos que tenemos dos meta valores, uno que se llama arquitecto y otro que se llama año.

Si queremos ordenar alfabéticamente por el meta valor de arquitecto nuestro WP_Query quedaría de la siguiente forma:

$args = array('post_type' => 'post', 'meta_key' => 'arquitecto', 'orderby' => 'meta_value', 'order' => 'ASC');
$query = new WP_Query($args);

Aquí estamos diciendo:

  • $pos_type=post, todos las entradas tipo post, aquí tambien puede ser page o algún tipo de entrada personalizado que tengamos.
  • $meta_key, es el nombre de nuestro meta en este caso arquitecto.
  • $orderby, es por qué parámetro vamos a ordenar aquí le decimos que ordene por el valor meta que seleccionamos anteriormente.
  • $order, el sentido del order puede ser ASC de menor a mayor o DESC de mayor a menor.

Ahora si queremos ordenar por el meta valor de año que es un valor numérico tenemos que hacer un pequeño cambio:

$args = array('post_type' => 'post', 'meta_key' => 'año', 'orderby' => 'meta_value_num', 'order' => 'ASC');
$query = new WP_Query($args);

Vemos que dejamos los parámetros casi igual lo único que cambia es ‘meta_key’=>’año’ para seleccionar el meta que queremos filtrar y  ‘orderby’ => ‘meta_value_num’ para indicarle a WordPress que este valor es numérico.

Eso es todo luego podemos usar nuestro loop como siempre lo hacemos:

while ($query->have_posts()) {

...

}

Así vemos que es muy fácil ordenar un loop a través de un meta valor.

La función the_excerpt() nos devuelve un extracto de nuestro artículo  o post y es útil, cuando queremos presentar sólo parte del contenido ya sea en nuestra página principal, en un widget o en cualquier otra parte de nuestra página.

Esta función debe ir dentro del loop y por defecto devuelve 55 caractéres y termina en […] y elimina cualquier etiqueta HTML e imágen que puedan estar dentro del extracto.

Pero que pasa si queremos más de 55 caracteres o queremos incluir un link en cambio de los tres puntos suspensivos y algo más significativo como leer más.

No hay problema gracias a los filtros de WordPress podemos cambiar estos parámetros sin problemas.

Modificar la longitud de the_excerpt()

1. Abre el archivo functions.php de la carpeta del tema que estés utilizando. ( Normalmente estará ubicado en la carpeta wp-content/themes/nombre_carpeta_tema/functions.php )

Nota: también se puede modificar el archivo functions.php a través del Escritorio de WordPress en Apariencia>Editor

2. Al final del archivo functions.php antes del último ?> colocamos el siguiente código:

/**
*  $long es una variable para indicar de cuantos caracteres de
*   longitud queremos nuestro extracto
*/

function mi_excerpt_long( $long ) 
{
        if (!$long) // si no se especifica
        {
	    return 40; //la longitud por defecto sera 40
        }
        else
        {
             return $long;
        }
}
add_filter( 'excerpt_length', 'mi_excerpt_long', 999 );

El uso dentro del loop si queremos que nos de 100 caracteres sería:

mi_excerpt_long(100);

Para explicar un poco el código lo que hace esta función es tomar una variable llamada $long que nos indica la longitud de caracteres, si esta variable no es colocada la longitud por defecto sería de 40, si no regresa el número de caracteres que le pasamos a la función. Luego utilizamos el filtro excerpt_length para indicarle a WordPress que es lo que queremos modificar con esta función. El número 999 si se lo preguntan es simplemente la prioridad de carga de este filtro, lo colocamos alto para que no interfiera con otros filtros más importantes.

Agregar leer más con un link al final del extracto

Por defecto el extracto termina con […], sin ningún link para seguir leyendo. Para cambiar esto vamos a utilizar otro filtro llamado excerpt_more. Igual que la vez anterior vamos a agregar un función al final del archivo functions.php.

function mi_excerpt_leermas() {
       global $post;
	return '<a href="'. get_permalink($post->ID) . '"> Leer más...</a>';
}
add_filter('excerpt_more', 'mi_excerpt_leermas');

No necesitamos agregar nada a nuestro loop excepto la función the_excerpt() o podemos utilizar la función que hicimos para cambiar la longitud del extracto. El filtro excerpt_more lo que hace es cambiar los tres puntos al final de extracto por lo que coloquemos en el texto del link.

[alert_blue textalign=”left”]Aquí también estamos utilizando otra función de WordPress get_permalink(), que nos devuelve el link permanente al post actual del loop.[/alert_blue]

Nota: Para versiones anteriores a WordPress 2.8 el filtro se llama wp_trim_excerpt. Pero no es aconsejable utilizar versiones tan viejas de WordPress.

Más información en el codex de WordPress: the excerpt

Ya con esto finalizamos y espero que les sirva en sus temas de WordPress, cualquier duda, pregunta o sugerencia por favor dejen sus comentarios.

No es para nadie nuevo que compartir tus artículos a través de los medios sociales es importante para atraer tráfico hacia tu página, blog o compañía. WordPress tiene un sin número de plugins disponibles y por supuesto muchos de ellos son para facilitar el compartir lo que publiques a través de Twitter, Facebook, Google Plus para mencionar algunos.

Aquí te damos una lista de los 10 mejores que pudimos encontrar.

1. Digg Digg

DiggDigg es un plugin muy popular, y es el que usamos aquí en Vensign. Después de instalarlo tienes la opción de o colocar una caja flotante muy bien diseñada para compartir al lado izquierdo de tus artículos o utilizar botones para compartir en la parte superior e inferior de tu artículo.

Este plugin es uno de lo que he visto que se actualiza con más frecuencia  y constantemente están añadiendo nuevas características. Además es desarollado por la gente de Buffer un excelente producto que te permite mantener una lista de Tweets y cosas que quieras publicar en Facebook cada cierto tiempo o durante una hora especial del día.

Incluye las redes sociales más populares, incluyendo la reciente Pinterest y por supuesto un botón para Buffer. Tiene una gran cantidad de opciones y es muy fácil de utilizar, tiene todas las opciones necesarias para configurarlo de manera sencilla, y si quieres adaptarlo a tu tema también te da opciones para hacerlo de una manera fácil.

2.Sharebar

Sharebar añade también una caja vertical a los artículos con links y botones a las redes sociales más populares (Twitter, Facebook, Digg, etc) también con un botón para enviar el artículo por correo electrónico. Si se elige la opción automática la barra pasa de vertical a horizontal dependiendo del ancho de la ventana, también se puede agregar tanto la barra vertical como la horizontal manualmente al tema através de una línea de código.

sharebar wordpress plugin

En la última versión fue agregado un selector de color para el fondo y borde de la caja y los botones de Sharethis.

3. ShareThis

Claro que no podía faltar este popular y bien conocido plugin. ShareThis te permite escoger una gran cantidad de opciones ya sea que quieras mostrar un solo ícono tipo menú desplegable o una serie de íconos o botones, o hasta una serie de widgets con el número de veces compartidos o retweets.

sharethis wordpress plugin socialLo que hace muy poderoso a este plugin son las herramientas de estadísticas de ShareThis, que te ayudan a obtener un mejor panorama de cómo está siendo compartido tu contenido.

4.Socialize

Otra buena solución si no eres amante de las cajas flotantes es Socialize. Este plugin es muy flexible y te permite colocar los botones para compartir donde prefieras en tus artículos.

Socialize Plugin Social WordPress Tiene una gran variedad de redes sociales como Twitter, Facebook, Digg, Reddit, StumbleUpom, Google Plus entre otros.

5.AddThis

Este es otro gran plugin parecido a ShareThis. También excelente para llevar estadísticas de como se comparte tu contenido en las redes sociales.

Una gran ventaja es que AddThis también incluye la traducción a más de 70 idiomas, incluyendo por supuesto el español. Así que si a tu sitio lo visitan desde varios países, esto puede ser una gran ventaja.

Addthis Plugin Social WordPress

También ofrece estadísticas de como se comparte el contenido si abres una cuenta gratuita en el sitio de AddThis.Y no te quedarás corto con más de 330 servicios disponibles para compartir.

Estos son nuestros 5 plugins favoritos para compartir en las redes sociales, más adelante veremos como conseguir una mayor participación de nuestros usuarios en las redes sociales y como sacarle el máximo provecho.

Tienes algunas otras sugerencias? Siempre puedes dejar tus preguntas o sugerencias en los comentarios y por supuesto te invitamos a hacer Tweet o Like en este artículo.

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

Wordpress 3.0Hoy fue el anuncio oficial del lanzamiento de WordPress 3.0, esta famosa plataforma que alguna vez sólo fue para Blogs pero que ahora ha evolucionado en un manejador de contenidos bastante completo, flexible y robusto.

Esta versión es un hito en el desarrollo de WordPress y es el fruto de todas las mejoras que se han ido incorporando, a los requerimientos de los usuarios y a un gran grupo de desarrolladores y de la comunidad que lo soporta como plataforma de Software Libre.

En este nueva versión tenemos las siguientes mejoras y características:

  • Permite crear categorías de post en la administración. Ya no sólo tenemos la opción de post y páginas sino que podemos crear categorías específicicas por ejemplo una categoría de Noticias, Deportes, Tecnología, etc y dentro de cada una de ellas crear Posts. Esto da mayor flexibilidad a los que manejan el contenido del sitio y permite ofrecerle a los clientes que utilizan la plataforma una forma más sencilla y clara de manejar los contenidos.
  • Nuevo tema por defecto adios a Kubrick y ahora le damos la bienvenida al nuevo Twenty Ten que es un tema que aprovecha todas la nuevas características de WordPress 3.0
  • Crear menús personalizados, ahora podemos crear nuestros propios menús y cuantos queramos sin modificar el código simplemente lo creamos en Apariencia>Menú y podemos elegir como se verán nuestra navegación, que va primero y después y crear varios menús para colocarlos en distintas secciones.
  • Agregar fondo, ahora podemos cambiar el fondo de nuestro sitio también desde la administración, elegimos una imagen y podemos seleccionar centrarla o colocarla en mosaico para que se repita en el fondo. También en vez de una imagen podemos colocar un color.
  • Cambiar imagen de Cabecera, podemos cambiar la imagen de cabecera a nuestro gusto sin problemas, el nuevo tema Twenty Ten tiene varias imágenes que ya podemos utilizar.
  • Links personalizados para cada post. Muy útil cuando los títulos son muy largos.
  • Ayuda en cada página. Ahora la ayuda está disponible en cada página de la administración y despliega la ayuda depende de donde nos encontremos.
  • Además cambio un poco el diseño de la página de administración algunos toques aquí y allá, se arreglaron más de 1.217 errores y permite actualizar los plugins en lote una característica muy esperada por mucho de nosotros.

Les dejo aquí el video donde podrán ver mejor las nuevas características y pronto estaremos publicando tutoriales de como aprovechas al máximo esta plataforma.


WordPress 3.0 promete mucho así que ha actualizar y pronto les enseñaremos como sacarle el mayor provecho para sus sitios Web.

Pueden descargar WordPress 3.0 en español desde: http://es.wordpress.org/

Sus opiniones son muy importantes para nosotros por eso dejen su comentario!!

Aquí en Vensign nos especializamos en WordPress como plataforma de manejo de contenido para su empresa, estamos a la orden para cualquier requerimiento. Contáctenos!

Estaremos publicando una serie de artículos con Tips, Sugerencias y opciones para las empresas así que no olviden seguirnos a través de nuestro RSS, Twitter o suscribirte a nuestro Boletín de Noticias