半夏凉歌   还在忙吗,别忘了给自己一个微笑。   2023-03-28

有时候做站我们会遇到这样一个问题,如果我想调用文章的第一张图来做列表的封面,那么wordpress要怎么实现,再来如果文章没有图,那么有没有相关的函数能实现呢,答案当然是有,wordpress本来就是php写的,很多功能都可以用php来搞定,当然如果你了解点wordpress的函数那就更容易了。

下来来分享一下,我是如果和解决上面我遇到的那个问题的,只要将下面一段代码放到functions.php中就完成了第一步:

<?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 = '';//第一张图片为空,也可以为一个默认地址。
	}
	return $first_img;
}
?>

第二步,就是要在你调用的列表页面中加入如下代码:

if( function_exists('catch_that_image')&&catch_that_image()!='' ) {
	//为空时做点什么!
}else{
	//图片存在时做点什么!
}

或者在你需要的地方使用<?php echo catch_that_image() ?>  即可调用第一章图片