这很简单:
<?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><?php echo catch_that_image() ?></li>
<?php
}
echo \'</ul>\';
}
}
wp_reset_query(); ?>
在函数中。php添加以下代码:
function catch_that_image() {
global $post, $posts;
$first_img = \'\';
ob_start();
ob_end_clean();
$output = preg_match_all(\'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/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;
}
当然,替换默认图像路径,并根据需要设置输出样式。
代码取自:http://www.wprecipes.com/how-to-get-the-first-image-from-the-post-and-display-it