Adaptar el theme para WordPress 2.6: [Caption]

Publicado el Sábado, 19 de julio de 2008

Una de las nuevas características de WordPress 2.6, es la de agregar un "caption" a cada imagen. O sea, un texto que muestra el valor del texto alternativo (propiedad "alt" del tag "img") de la imagen, con una caja y borde al rededor. Esta característica viene habilitada por defecto. Podemos verla cuando insertamos una nueva imagen. El uploader de imágenes nos avisa que el texto alternativo será usado como "caption" también.

Al insertar la imagen con el botón de "Add an image" (agregar una imagen), nuestro editor nos muestra algo así:

WordPress Caption

La imagen es encerrada entre los tags:

[caption id="attachment_936" align="aligncenter" width="125" caption="WordPress"]
[/caption]

Este código es automáticamente "traducido" a HTML y CSS, e interpretado como tal por nuestro navegador. Entonces, la imagen va a tener un código así (código de ejemplo):

<div id="attachment_936" class="wp-caption aligncenter" style="width: 128px;">
     <a href="url/img/wordpress.jpg">
          <img title="WordPress" src="url/img/wordpress.jpg" alt="WordPress" />
     </a>
     <p class="wp-caption-text">
          WordPress
     </p>

Como ven, hay un par de clases nuevas que tenemos que definir en nuestro CSS. Por defecto, el CSS de nuestro tema no está preparado para mostrar el caption como viene en WordPress 2.6, a menos que hagamos algunas modificaciones.

Los cambios los podemos observar en el tema por defecto, en el archivo style.css. Estos nos permiten mostrar la caja de caption, y el texto en tamaño chico. Pueden verlo en el changeset de WordPress 2.6, o si lo descargaron, ir hasta /wp-content/themes/default y ver el archivo style.css.

El código es el siguiente:

/* Captions */
.aligncenter, div.aligncenter {
     display: block;
     margin-left: auto;
     margin-right: auto;
}
 
.wp-caption {
     border: 1px solid #ddd;
     text-align: center;
     background-color: #f3f3f3;
     padding-top: 4px;
     margin: 10px;
     -moz-border-radius: 3px;
     -khtml-border-radius: 3px;
     -webkit-border-radius: 3px;
     border-radius: 3px;
}
 
.wp-caption img {
     margin: 0;
     padding: 0;
     border: 0 none;
}
 
.wp-caption p.wp-caption-text {
     font-size: 11px;
     line-height: 17px;
     padding: 0 4px 5px;
     margin: 0;
}
/* End captions */

El primer bloque (.aligncenter) es el que se encarga de alinear al centro la imagen, en caso de que así lo especifiquemos en las opciones del uploader de imágenes. En .wp-caption, podemos editar el color de fondo y borde, alineación de texto, etc. En mi caso por ejemplo usé los colores #222 para el fondo y #86bb66 para el borde, de manera de adaptarlo al resto de los colores del sitio. El resto del código es bastante explicativo.

Lo que hay que hacer es agregar estas líneas de código al css de nuestro tema/theme/plantilla/template de WordPress, y personalizarlo con los colores, márgenes y demás a nuestro gusto. Yo estrené el nuevo diseño en el post anterior, y mi caja con caption se ve así:

PicandoCodigo.net

PicandoCodigo.net

15 comentarios en este post

Feed de comentarios
  1. Avatar

    fernando 19 julio. 2008 - 16:15

    Por cierto, es un sufrimiento tratar de mostrar código HTML en un post de WordPress, incluso teniendo el plugin WP-Syntax…

  2. Avatar

    soullost 20 julio. 2008 - 13:15

    Cierto, yo tambien me percaté de lo mismo (del caption), habrá que picarle un rato al css. Sobre insertar (x)html en un post para mostrar, tienes que tener el cuenta que hay que escribir los signos de las etiquetas (, sobre todo el <) como < y > para que no lo interprete como html.

  1. Cómo mostrar código fuente en los comentarios | Picando Código | 24 julio. 2008 - 02:47

    […] que esperábamos. Destaco los posts sobre sintaxis, y más recientemente el post de AWK, o el de WordPress y caption, donde pasó lo mismo (malditos […]

  2. Problema de alineación de imágenes en Wordpress 2.6.x | Punto Geek | 28 agosto. 2008 - 14:43

    […] Otro truco de yapa es el de los CAPTIONS, que son una descripción que se agrega a la imagen, además de un marco con bordes redondeados que le da un efecto muy elegante, lo pueden ver en cada imagen de los posts de Punto Geek. Para usarlos correctamente tenemos que agregar el siguiente código a nuestro CSS: Clic para ver Texto Plano CSS: […]

  3. Di lo que quieras 2.5 | 17 febrero. 2011 - 01:42

    […] […]

  4. Las imagenes no quedan centradas | 29 marzo. 2011 - 21:58

    […] […]

Dejar un comentario

Toasty!