您的位置:首页 > 其它

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

2016-01-06 09:28 197 查看
在主题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) ;?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: