I want to display an image for each related post. Note, these are inline images, not from post thumbnails.
What I need is:
- If the post has an only image, show it.
- If it has multiple images, show the first one.
- If non-images, show a static alternative.
Below is what I have currently.
<?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 '<h3>Related Posts</h3>';
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
}
}
wp_reset_query(); ?>
That is simple:
In functions.php add this code:
Of course, replace the default image path, and style the output to your needs.
Code taken from: http://www.wprecipes.com/how-to-get-the-first-image-from-the-post-and-display-it