Obtener y mostrar imágenes del contenido


wordpress logoDesde 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.

Fuente: AyudaWordpress

Te gusto? entonces compártelo:

,

  1. avatar

    #1 by Antu on 13 junio, 2012 - 6:41 PM

    Google Chrome 17.0.963.46Windows 7

    por favor ayudenme a tener tutoriales de wordpress quiero aprender pero no se como,todo lo que ponen es muy bueno pero para alguien que tenga nocion ,yo no,envienme manuales y tutoriales a afrometa@estudiantes.uci.cu

(No será publicado)