WordPress中调试缩略图的相关PHP函数使用解析
the_post_thumbnail
the_post_thumbnail在WordPress中主要用来打印文章中设定的缩略图,而get_the_post_thumbnail函数可以将你需要的HTML代码以字符串的形式返回。
the_post_thumbnail函数的使用
the_post_thumbnail($size,$attr)
函数参数
- $size是指你想要的缩略图类型默认是‘post-thumbnail'也就是特色图像
- $attr图像img标签中的属性设置。
the_post_thumbnail函数声明
/**
*DisplayPostThumbnail.
*
*@since2.9.0
*
*@paramint$sizeOptional.Imagesize.Defaultsto'post-thumbnail',whichthemesetsusingset_post_thumbnail_size($width,$height,$crop_flag);.
*@paramstring|array$attrOptional.Querystringorarrayofattributes.
*/
functionthe_post_thumbnail($size='post-thumbnail',$attr=''){
echoget_the_post_thumbnail(null,$size,$attr);
}
get_the_post_thumbnail函数声明
*RetrievePostThumbnail.
*
*@since2.9.0
*
*@paramint$post_idOptional.PostID.
*@paramstring$sizeOptional.Imagesize.Defaultsto'post-thumbnail'.
*@paramstring|array$attrOptional.Querystringorarrayofattributes.
*/
functionget_the_post_thumbnail($post_id=null,$size='post-thumbnail',$attr=''){
$post_id=(null===$post_id)?get_the_ID():$post_id;
$post_thumbnail_id=get_post_thumbnail_id($post_id);
$size=apply_filters('post_thumbnail_size',$size);
if($post_thumbnail_id){
do_action('begin_fetch_post_thumbnail_html',$post_id,$post_thumbnail_id,$size);//for"JustInTime"filteringofallofwp_get_attachment_image()'sfilters
if(in_the_loop())
update_post_thumbnail_cache();
$html=wp_get_attachment_image($post_thumbnail_id,$size,false,$attr);
do_action('end_fetch_post_thumbnail_html',$post_id,$post_thumbnail_id,$size);
}else{
$html='';
}
returnapply_filters('post_thumbnail_html',$html,$post_id,$post_thumbnail_id,$size,$attr);
set_post_thumbnail_size
set_post_thumbnail_size函数是WordPress中设置特色图像大小的一个函数也是add_image_size函数的一个简单的应用。为了更好的突出特色图像的使用,WordPress自2.9.0版开始,便有了本函数。
set_post_thumbnail_size函数的使用
与add_image_size函数使用大概类似,只是该函数只针对特色图像进行设置。
set_post_thumbnail_size($width,$height,$crop)
参数详解
- $width图像宽度
- $height图像高度
- $crop是否按照高宽剪裁图像
实例
set_post_thumbnail_size(100,0,true);
注意:当高度和宽度任意一个为0时,WP将自动适应另一个值进行缩略图生成工作。
函数声明
/**
*Registersanimagesizeforthepostthumbnail
*
*@since2.9.0
*/
functionset_post_thumbnail_size($width=0,$height=0,$crop=false){
add_image_size('post-thumbnail',$width,$height,$crop);
