实现的思路是:先在wordpress主题目录theme下的functions.php中定义一个函数,然后我们在主页(index.php)、分类页面(archive.pnp)甚至搜索页面都可以很容易的调用来显示特色图像。当然为了美观,你应该现在CSS文件中定义好它的class以便完美的显示 首先,我们来顶一个文内图片地址提取函数 catch_that_image()
<?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)){ $first_img = bloginfo('template_url').'/images/logo.png'; /*文章中无图的默认图像*/ } return $first_img; }
其它地方直接调用 catch_that_image() ;调用示例:
<?php if(have_posts()) : ?> <?php while(have_posts()) : the_post(); ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img src="<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>"/></a> <?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 304," ...... "); ?><a href="<?php the_permalink(); ?>" rel="nofollow"> Read more»</a> <?php endwhile; ?> <?php endif; ?>