Como exibir imagens em posts relacionados?

Quero exibir uma imagem para cada publicação relacionada. Note-se que estas são imagens em linha, não das miniaturas do post .

O que eu preciso é:

  1. Se a publicação tiver uma única imagem, mostre-a.
  2. Se tiver várias imagens, mostre a primeira.
  3. Se não forem imagens, mostre uma alternativa estática.

Abaixo está o que tenho atualmente.

ID); if ($categories) { $category_ids = array(); foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id; $args=array( 'category__in' => $category_ids, 'post__not_in' => array($post->ID), 'showposts'=> 5, // Number of related posts that will be shown. 'caller_get_posts'=> 1 ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { echo '

Related Posts

'; echo '
    '; while ($my_query->have_posts()) { $my_query->the_post(); ?>
  • <a href="https://wordpress.stackexchange.com//questions/62969/how-to-display-images-in-related-posts/">
  • <?php } echo '
'; } } wp_reset_query(); ?>

Solutions Collecting From Web of "Como exibir imagens em posts relacionados?"

Isso é simples:

 < ?php $categories = get_the_category($post->ID); if ($categories) { $category_ids = array(); foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id; $args=array( 'category__in' => $category_ids, 'post__not_in' => array($post->ID), 'showposts'=> 5, // Number of related posts that will be shown. 'caller_get_posts'=> 1 ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { echo '

Related Posts

'; echo '
    '; while ($my_query->have_posts()) { $my_query->the_post(); ?>
  • < ?php the_title(); ?>< ?php echo catch_that_image() ?>
  • < ?php } echo '
'; } } wp_reset_query(); ?>

Em functions.php, adicione este código:

 function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('//i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ //Defines a default image $first_img = "/images/default.jpg"; } return $first_img; } 

Obviamente, substitua o caminho de imagem padrão e classifique a saída para suas necessidades.

Código tirado de: http://www.wprecipes.com/how-to-get-the-first-image-from-the-post-and-display-it