关于wordpress缩略图的方案,网上有很多种,但在具体开发wordpress主题时,难免会遇到特殊的需求,比如说,缩略图不需要进行timthumb.php裁剪的同时,由于所需图片大部分均为高分辨率的大图,我也不想做成缩略图必须本地上传的原特色图片调用。


以下教程主要是调用自定义段(自定义段设置中,可以选择上传图片或者使用外链图片);如果没有则调用文章第一张图片(文章中的图片也可以通过外链显示。)如此下来只需要考虑源站是否允许别人用的他的图片的问题了。

/*缩略图*/  
function wd_thumb($post_id=null){  
    $post_id = ( $post_id === null ) ? get_the_ID() : $post_id;  
    $post=get_post($post_id);  
    $thumb = get_post_meta($post_id,'thumb', true);  
    if( $thumb ) {  
        $post_thumbnail_src = $thumb;  
    }else {  
        $post_thumbnail_src = '';  
        ob_start();  
        ob_end_clean();  
        $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);  
        if(!emptyempty($matches[1][0])){  
            $post_thumbnail_src = $matches[1][0];  
        }  
    }  
    return $post_thumbnail_src;   
}  

函数中穿插了一个posid的值,特殊地方,你可以直接填写文章id来获取,循环里,则可以直接使用wd_thumb()这个函数获取;

//循环外,调用ID为1的文章缩略图
<?php echo wd_thumb(1);?>
//循环内
<?php echo wd_thumb();?>

这样的缩略图,也算是最轻便的一种了。