Oferta SiteGround Black Friday

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.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 4.5 / 5. Total de votos: 4

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿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. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

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 *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio