wordpress查看文章内是否有缩列图

来源:互联网 发布:数据库建立一对一关系 编辑:程序博客网 时间:2024/05/17 12:47

在主题function.php下添加下面代码:


//判断文章中是否含有图片
02 function don_the_thumbnail() {
03 global $post;
04 // 判断该文章是否设置的缩略图,如果有则直接显示
05 if ( has_post_thumbnail() ) {
06 echo the_post_thumbnail();
07 else //如果文章没有设置缩略图,则查找文章内是否包含图片
08 $content $post->post_content;
09 preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim'$content$strResult, PREG_PATTERN_ORDER);
10 $n count($strResult[1]);
11 if($n > 0){ // 如果文章内包含有图片,就用第一张图片做为缩略图
12 echo '<img src="'.$strResult[1][0].'" />';
13 }else // 如果文章内没有图片,则用默认的图片。
14 echo '';
15 }
16 }
17 }

。比如可以在首页的摘要<?php the_excerpt() ;?>下面,添加

<?php don_the_thumbnail() ;?>

那就首页就可以实现:如果文章中有图片,那么就在首页显示,如果没有什么也不显示。


也可以这样:(不止一个默认图片)

function don_the_thumbnail($default_img) {

global $post;
// 判断该文章是否设置的缩略图,如果有则直接显示
if ( has_post_thumbnail() ) {
echo '';
} else { 
// 如果没有缩略图片,则用默认的图片。
switch($default_img){
case 1: echo '<img src="'.site_url().'/wp-content/uploads/2015/12/670-300.jpg" />';break;
case 2: echo '<img src="'.site_url().'/wp-content/uploads/2015/12/150-100.jpg" />';break;
case 3: echo '<img src="'.site_url().'/wp-content/uploads/2015/12/150-150.jpg" />';break;
case 4: echo '<img src="'.site_url().'/wp-content/uploads/2015/12/100-150.jpg" />';break;
case 5: echo '<img src="'.site_url().'/wp-content/uploads/2015/12/300-165.jpg" />';break;
default: break;
}
}

}

在你的图片后面添加<?php don_the_thumbnail($default_img) ;?>

0 0
原创粉丝点击