wordpress文章中首图设置为缩略图
在织梦文章编辑中,可以提取第一个图片为缩略图,WordPress缩略图是需要我们单独设置的,这显然比织梦麻烦一点。WordPress能不能具有提取第一个图片为缩略图功能呢?
可以用函数,用来实现这一效果。只需在恰当的位置调用本函数即可。
代码
你只需将下面的函数加入到functions.php中,然后在文章循环内调用该函数即可:
function get_post_first_pic($post_id,$default=0,$link=0,$style=”){
$post=get_post($post_id);
$thumb=get_the_post_thumbnail($post_id,array(‘alt’=>trim(strip_tags($post->post_title)),’title’=>trim(strip_tags($post->post_title))));
if(!$thumb){
preg_match(‘/<img.+src=[‘”]([^’”]+)[‘”].* />/i’,$post->post_content, $index_piclink);
if($index_piclink[1]){
$thumb='<img src=”‘.$index_piclink[1].’” title=”‘.$post->post_title.’” alt=”‘.$post->post_title.’” ‘.$style.’ />’;
}else{
if($default!=0)$thumb='<img src=”‘.get_bloginfo(‘template_url’).’/images/default.jpg” title=”‘.$post->post_title.’” alt=”‘.$post->post_title.’” ‘.$style.’ />’;
}
}
if($thumb&&$link!=0&&$link!=”)$output='<a href=”‘.get_permalink().’” title=”‘.$post->post_title.’”>’.$thumb.'</a>’;
else $output=$thumb;
return $output;
}
function post_first_pic($post_id,$default=0,$link=0,$style=”){
echo get_post_first_pic($post_id,$default,$link,$style);
}
详解
第一个函数是获取函数,第二个函数则将第一个函数中获取的结果显示出来。
get_post_first_pic($post_id,$default=0,$link=0,$style=”)有四个参数,
其中$post_id指要获取的文章ID,如果再LOOP循环中,可以直接用$post->ID代替,显示该文章的第一张图片;
$default用于在该文章没有图片的情况下,是否显示模板目录下的/images/default.jpg作为替代图片,非0则使用;
$link则表示是否将该图片链接指向文章,如果为0,则不带链接;
$style就是对图片添加新的属性,如你可以将$style=’style=”border:none;”‘;从而添加特定的附属属性。
当文章中没有图片,$default=0时,则不显示任何内容。
例子
下面是一个调用的例子:
<?php if(function_exists(‘post_first_pic’))post_first_pic($post->ID,1,1,’style=”width:150px;height:150px;”‘);?>
<?php the_excerpt(); ?>
上面这段代码放在while循环中,将以摘要的形式输出文章内容,并在摘要前面加入一张图片。
0条评论