在主题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) ;?>