SummArg | Cursos y recursos para webmasters

29/04/2011

Cómo saber si una entrada tiene imágenes sin usar custom fields

En la elaboración de un theme es muy importante poder determinar si una entrada tendrá o no imágenes, dado que en virtud de ello se puede modificar el estilo con el que habrá de mostrarse esa entrada en particular.

Hasta hace un tiempo atrás era común utilizar los custom fields para guardar allí la URL de la imagen, de modo que para saber si una entrada tenía imagen, bastaba con chequear el campo personalizado. Generalmente esta técnica era la utilizada para obtener miniaturas con timthumb y scripts similares.

Con la evolución de WordPress tenemos nuevas herramientas (ver the_post_thumbnail) y podemos dejar de lado esta técnica.

Dentro del loop en donde necesitan conocer la existencia de una imagen, colocar:

<?php
$content = $post->post_content;
$searchimages = '~<img [^>]* />~';
/* Utiliza preg_match_all para obtener todas las imagenes y graba el resultado en $pics*/
preg_match_all( $searchimages, $content, $pics );
// Chequea si al menos tiene una imagen
$iNumberOfPics = count($pics[0]);
if ( $iNumberOfPics > 0 ) {
 // Si tiene al menos una imagen.
} else {
// Si no tiene ninguna imagen.
}
?>

Dejar un comentario