Nuevo en WordPress 3.1: Formatos de entrada

Ya tenemos con nosotros WordPress 3.1, versión que llega cargada de novedades. Espero que podamos ir viendo estas novedades con detalle, especialmente los Formatos de Entrada y las nuevas funcionalidades para Taxonomías y Entradas personalizadas (Custom Post Types).

Vamos a ver los primeros, los Formatos de Entrada (llamados en inglés Post Formats).

Qué son los Formatos de Entrada

Los Formatos de Entrada son un nuevo método para dar una presentación diferente a cada entrada específica. Con un nuevo menú que se añade en la columna de la izquierda a la hora de crear una nueva entrada podrás especificar el “formato” de dicha entrada. Recordad que los Formatos de Entrada se usan para dar estilos diferentes a distintos tipos de entradas. No son Entradas Personalizadas (Custom Post Types).

Por ejemplo, si se trata de una galería de imágenes seleccionas la opción prevista para una galería, si es una entrada corriente le aplicas la opción “Estandar”, etc.. Esto permite dar una manera rápida y sencilla un estilo diferente a cada tipo de entrada en función de su temática o contenidos.

Podéis ver por ejemplo este tema de Themify Demos o el blog Digging into WordPress. Este último tiene tiene dos estilos diferentes: uno para artículos propios y otro para enlaces externos.

Cómo activar los Formatos de Entrada

Puede ser que hayas actualizado tu blog a la versión 3.1 de WordPress y no te salgan los Formatos de Entrada. Esto se debe a que tu tema no los tiene activados. Para activarlos, abre el archivo functions.php de tu tema y escribe:

En este ejemplo se añadirían los Formatos de Entrada “aside” y “gallery”. Pero hay muchos más, tal y como podéis ver en la web de WordPress. Esta lista de formatos está cerrada. Son los que son y no se pueden añadir nuevos ni a través de plugins.

Lista de Formatos de Entrada disponibles

La lista disponible es:

* aside – Estilo típico sin título, similar a las notas de Facebook.
* gallery – Una galería de imágenes. La entrada probablemente tendrá una galería de imágenes.
* link – Un enlace a otro sitio.
* image – Una imagen única. La primera etiqueta de la entrada podría ser considerada la imagen. Por el contrario, si la entrada tiene sólo una URL esa será la URL de la imagen y el título de la entrada (post_title) será el atributo “título” de la imagen.
* quote – Una cita. Probablemente tendrá una etiqueta blockquote alrededor del contenido.
* status – Una actualización corta de estado, similar a Twitter.
* video – Un vídeo único.
* audio – Un fichero de audio. Puede ser usado para Podcasting.
* chat – Una transcripción de un chat.

El formato “standard” símplemente no añade ningún formato. Hay que tener en cuenta que el contenido de una entrada no cambia al elegir un Formato de Entrada u otro. El Tema (o el diseñador del tema, mejor dicho) lo que puede hacer es aprovechar cada una de estas opciones para aplicar los estilos que crea conveniente a cada Formato.

Cómo seleccionar entradas en función de los distintos Formatos de Entrada

Una vez hayamos activado los Formatos de Entrada podemos seleccionar las entradas en función de dichos Formatos. Para ello podemos utilizar varias funciones:

Nos devuelve el Formato de una entrada. Lo más normal es situarlo dentro del “loop”, pero se puede poner en cualquier parte donde el ID de la entrada esté definido. El Formado de Entrada “standard” devolverá con esta función un valor de “false”, por lo que podemos hacer:

También podemos aprovechar “get_template_part()” introducido en WordPress 3.0. Como habréis visto en el tema TwentyTen que viene por defecto con WordPress, con get_template_part se importa diferente código del “loop” dependiendo de dónde esté el usuario (en una entrada, en una página, en la home…). Por ejemplo, en el archivo index.php de TwentyTen nos encontramos con esto:

Esto significa que primero se buscará un archivo que se llame ‘loop-index.php’ y si no lo encuentra buscará ‘loop.php’. Es por ello que en un ejemplo que nos ofrece la web de WordPress se juntan ambas funciones get_template_part() y get_post_format() para separar tus formatos en archivos diferentes usando get_template_part() para decidir que “sub-template” cargar.

Este es el ejemplo que nos ofrece la web de WordPress:

Vemos que primero obtenemos el formato de la entrada y lo guardamos en la variable $format. Si es por ejemplo “link”, gracias a la segunda función wordpress buscará primero un archivo format-link.php y si no lo encuentra busca format.php (que tendremos que crear si no lo tenemos).

Otra función que podemos usar es “has_post_format”. Por ejemplo:

Aplicar estilos diferentes a cada Formato en tu CSS

También puedes sacar partido a los Formatos a través de CSS. Los temas que quieran hacerlo deben usar la función post_class() en el código que agrupa la entrada (post) para añadir clases dinámicas, por ejemplo:

Nos quedará algo parecido a esto:

Como véis, los Formatos de entrada añadirán clases extra usando el formato “format-nombre” (en el ejemplo anterior, format-aside). Por ejemplo, para aplicar estilos a los títulos de los Formatos tipo “aside”:

También, si en nuestro tema tenemos la etiqueta body con la función body_class:

Obtendremos para el artículo completo algo parecido a esto, en el caso de que fuera un formato tipo “aside”:

Esto es todo. ¿Qué opináis de los Formatos de Entrada? ¿Creéis que los vais a usar?

21 comentarios en “Nuevo en WordPress 3.1: Formatos de entrada

  1. Pingback: wp-popular.com » Blog Archive » Nuevo en Wordpress 3.1: Formatos de entrada | emenia.es

  2. Bueno muchas gracias. Se nota que sabes mucho pero, personalmente no me he enterado de nada…
    Para un usuario de a pie… ¿para que sirven esos tres formatos que vienen en wp para cada post?
    Gracias

    • Hola Juan,

      Vaya, eso quiere decir que no lo he explicado muy bien…. Sirven para que puedas crear diseños diferentes para distintos tipos de entradas y para que los apliques con sólo seleccionar el formato de entrada correspondiente. Si ves el ejemplo que puse en la pantalla al empezar el artículo en ese blog tienen dos formatos, dos diseños: uno para las entradas normales y otro para los enlaces externos. Si el artículo es un enlace externo, selecciono el formato que le corresponde, y viceversa. Luego además puedes seleccionar entradas en función del formato que les has aplicado (por ejemplo, si quieres poner unos en un lado de la pantalla y otros en otra, etc…)

      Por defecto vienen tres, pero pueder poner muchos más, tal y como pongo en el artículo. Haz pruebas: crea un artículo de prueba para cada formato, y luego mira las diferencias y qué clases le ha aplicado WordPress a cada entrada. Verás que son diferentes (ejemplo: format-aside format-standard, etc..), lo que te permite además darle estilos diferentes mediante CSS.

  3. hola Juan!

    aquí martín de nuevo, te queria agradecer por que estoy terminando una agotadora jornada de desarrollo de child theme para uno de mis clientes, y me topé con las novedades del wp 3.1, como ser get_template_part y los formatos de entradas que desconocía y me tenían contra las cuerdas, hasta que googleo mi problema y zas! aparece EMENIA ootra vez dandome la pauta de como son las cosas por el universo wordpress !

    un abrazo y adelante con el blog!

    Martín

  4. Hola Juan!
    Me has aclarado el tema oportunamente. Muchas gracias! Quiero consultarte sobre éstas plantillas http://www.ezwpthemes.com donde aparece el “welcome” con un texto por default. Pero no he podido editar ese texto, por favor, podrías decirme cómo lo hago?
    Muchas gracias de nuevo!
    Verónica

    • Gracias Verónica,

      No conozco estos temas deWordpress, pero he ido al enlace que me indicabas y da la impresión de ser un Widget. Mira a ver en Apariencia / Widgets a ver si es así.

  5. Hola Juan:

    He insertado el código en functions.php y cuando introduzco una nueva entrada me aparece el menú para elegir el formato de post entre, standard, gallery y aside.

    Los selecciono y no veo ningún cambio cuando actualizo el blog.

    He de hacer algo mas que insertar el código?

    He insertado mal el código en functions.php¿

    Gracias.

    • Hola Francisco,

      Debería cambiarte la clase del div que rodea al post, que será distinta para cada formato. Eso lo que te permitirá es aplicar un estilo distinto a cada uno en tu hoja de estilos (CSS).

  6. Hola Juan, soy un nuevo usuario de wordpress desde argentina y mis conocimientos son muy básicos. Me gusta tu blog y como explicas, gracias pero aún no me queda en claro lo que es: “Cómo seleccionar entradas en función de los distintos Formatos de Entrada”. Supongo que este código debe escribirse en el archivo que mencionas “functions.php “, perdón pero mis dudas son completas. Gracias.

  7. Muchas gracias por el apartado explicativo sobre esta nueva función, después de actualizar mi sitio el dia de hoy lo encontré mientras escribía un anuncio y esto me ha quitado mis dudas sobre esta nueva opción.

    Ahora estoy con una duda, mi sitio esta formado en WordPress usando el theme base con algo de experiencia en purgado de códigos PHP para eliminar cosas no necesarias, y actualmente ando luchando con la famosa opción de la imagen destacada, ya que no logro hacer que se inserte en el listado de entradas y menos dentro de la entrada misma.

    Como también no logro integrar mi sitio con Facebook ya que necesitaría que los usuarios comenten con su usuario Facebook y cuenten con los famosos botones de las redes sociales. Es algo que todavía no me sale y no encuentro plugins que me ayuden.

    Señor Juan Diaz, si me puede dar una instrucción básica o recomendaciones se lo agradecería, desde ya muchas gracias.

  8. Pingback: Presswork un Framework de nueva generación | SocialTotal

  9. Hola Juan,
    Llevo un toda la mañana estudiando en este blog. Está muy bien explicado y es realmente fácil ir siguiendo las indicaciones. Soy un usuario básico que justo empieza a diseñar en WordPress, y la verdad es que se agradece mucho tu tiempo explicándolo todo con tanta claridad.

    Nos iremos viendo por aquí. Un saludo!

  10. Pingback: Formatos de entrada en WordPress | The Bit Jazz Band

  11. Hola Juan, muy buena entrada. Una cosina, en vez de usar las clases dinámicas, que son un lío, es más sencillo si haces un echo get_post_format() para pegar al nombre de un identificador la partícula del formato que corresponda (contenidoaside, contenidovideo, contenidogallery). No sé si me explico.

    Un abrazo y gracias por el esfuerzo, se aprende un montón en tu página.

  12. Hola, Juan Tu post nos ayuda un monton a los usuarios que tenemos conocimientos basicos, muchas gracias pero acerca de como poner el formato de entradas aside, gallery por ejemplo, puse pero no me funciona osea aparece en la entrada la opciones que agregue pero en mi pagina web, sigue saliendo en gallery, es que yo pongo un archivo html de un chat xat en esa entrada y siempre quiero que aparesca fija en todas las paginas pero no pude por eso solo lo publicaba como una entrada y la ponia fija en el formato aside pero he probado un monton de temas que son libres pero la mayoria viene con gallery y no puedo poner el estilo de formatos, por eso te preguntaba si hay alguna otra opcion ya que probe con tu tutorial y no me funciono con ningun tema, muchas gracias por todo espero su respuesta que me pueda ayudar Saludos Exitos Juan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">