wodpress缩略图 输出自定义域图片或设置的缩略图或获取文章第一张图作为缩略图

Wodpress缩略图 输出自定义域图片或设置的缩略图或获取文章第一张图作为缩略图

在使用wordpress时,特别在制作一些列表页或者文章页中获取相关文章,边栏显示最新文章的图文版时,都需要用到调用文章的缩略图,本文介绍的缩略图方案也是一种办法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//缩略图wp123.cn
 
//输出缩略图地址
 
function post_thumbnail_src(){
    global $post;
    if( $values = get_post_custom_values("thumb") ) {   //输出自定义域图片地址
        $values = get_post_custom_values("thumb");
        $post_thumbnail_src = $values [0];
    } elseif( has_post_thumbnail() ){    //如果有特色缩略图,则输出缩略图地址
        $thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');
        $post_thumbnail_src = $thumbnail_src [0];
    } else {
        $post_thumbnail_src = '';
        ob_start();
        ob_end_clean();
        $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
        $post_thumbnail_src = $matches [1] [0];   //获取该图片 src
        if(empty($post_thumbnail_src)){ //如果日志中没有图片,则显示随机图片
            $random = mt_rand(1, 10);
            echo get_bloginfo('template_url');
            echo '/img/pic/'.$random.'.jpg';
            //如果日志中没有图片,则显示默认图片
            //echo '/img/thumbnail.png';
        }
    };
    echo $post_thumbnail_src;
}

调用代码

1
2
3
  <div class="thumbnail_box"><div class="thumbnail">  
                  <img class="home-thumb" src="<?php echo post_thumbnail_src(); ?>" alt="孕妇装夏装" height="100px" width="140px"/>
                 </div></div>