WordPress:获取文章中的第一张图片

时间: 2013-12-4 分类: WordPress技术 作者: SAI

TAGS:

我想在WordPress的首页只显示文章中的第一个图片作为该文章索引,总结一下做个记录,这里有两种方法:

第一种方法:自定义函数

首先,在当前主题的 functions.php 中添加一个自定义函数,比如叫 catch_that_image() :

//获取文章第一张图片,如果没有图就会显示默认的图
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/default-thumb.jpg';

}

return $first_img;

}
//end

 

 

//获取文章第一张图片,如果没有图,就不显示图
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/default-thumb.jpg';

}
else{
$first_img = ‘<a href=”<?php the_permalink();?>” title=”<?php the_title();?>”><img src=”‘.$first_img.'” alt=”<?php the_title();?>”/></a>';
}

return $first_img;

}

然后在想要调用文章图片的地方使用:

<?php echo catch_that_image() ?>

获取第一张图片的链接。比如:

<a href=”<?php the_permalink(); ?>” title=”<?php the_title(); ?>”><img src=”<?php echo catch_that_image() ?>” alt=”<?php the_title(); ?>”/></a>

第二种方法:插件 wp-thumbnails

启用这个插件之后,使用下面的PHP代码就可以同时生成图片和文字链接:

<?php if(function_exists(‘wp_thumbnails_for_recent_posts’)) { wp_thumbnails_for_recent_posts(); } ?>
是不是很方便呢?

Javin

本文作者: SAI

推崇以用户为中心的设计理念,专注于用户体验设计,游走在视觉设计与前端开发之间。我要投稿

除非特殊注明,本文版权归原作者所有,欢迎转载!转载请注明版权以及本文地址,谢谢。
转载保留版权:塞纳» 建站技巧 » WordPress技术 » WordPress:获取文章中的第一张图片
本文地址:http://www.saiody.com/?p=828

返回顶部