Obtener y mostrar imágenes del contenido

Desde hace varias versiones que WordPress puede mostrar en tu tema imágenes destacadas pero ¿qué pasa si no usas ese sistema?, o si simplemente tu tema no soporta imágenes destacadas.

La solución sería un código que revise tu contenido y, si encuentra una imagen, la muestre en tu sitio.

Sería una cosa así:

// Empieza el Loop
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
<?php
// Definimos el contenido de la entrada a una variable
$szPostContent = $post->post_content;
// Defininimos el patrón a buscar
$szSearchPattern = '~<img [^\>]*\ />~';
// Ejecutamos preg_match_all para obtener todas las imágenes y guardar los resultados en $aPics
preg_match_all( $szSearchPattern, $szPostContent, $aPics );
// Contamos los resultados
 $iNumberOfPics = count($aPics[0]);
// Comprobación de si hay al menos 1 imagen
if ( $iNumberOfPics > 0 )
{
     // Ahora hacemos lo que sea con las imágenes
     // En este ejemplo se muestran las imágenes
for ( $i=0; $i < $iNumberOfPics ; $i++ ) {
          echo $aPics[0][$i];
     };
};

endwhile;
endif;
?>
// ...termina el loop, etc

En el código anterior, una vez mostramos las imágenes es bastante probable que quieras también mostrar el contenido ¿no?. Vale, pues el problema es que si usamos la función the_content(); las imágenes se volverán a mostrar. Para resolver esta puñetita solo hay que hacer un rodeo para quitar las imágenes, y mostrar solo el resto del contenido:

// Esta vez remplazamos/quitamos las imágenes del contenido
$szDescription = preg_replace( $szSearchPattern, '' , $szPostContent);
// Aplicamos filtros para que se muestre bien el contenido
$szDescription = apply_filters('the_content', $szDescription);
// Mostramos el contenido
echo $szDescription;

¡Y ya está!

Esta virguería la creó Matt Varone.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(4 votos, promedio: 4.5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

3 comentarios en “Obtener y mostrar imágenes del contenido”

  1. Hola Fernando, se que mi comentario no tiene nada que ver con tu post, pero es que me urge saber como hacer algo en wordpress y no se donde comentar.
    Tengo un blog y quiero que las entradas luzcan parecidas a las de este otro blog: 
    http://conecti.ca/
    Es decir, con el titulo y la foto en grande.. ¿que plugin o widget necesito instalar para poder hacerlo?
    Te paso mi blog para que veas como luce: 

    Gracias por tu tiempo

  2. Hola, excelente tu post, me ayudó mucho.. pero tengo una consulta.. qué debo poner si deseo recortar la imagen a un tamaño determinado??

Deja un comentario

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

 

Ir arriba Ir al contenido