add_image_size 修改缩略图大小
注册一个新的图片尺寸,意味着你上传新的图片,WordPress 就会创建一个按照这个尺寸的新特色图片.
用法
add_image_size( string $name, int $width, int $height, bool|array $crop = false )
参数
$name 要设置的缩略图名称,可接受thumbnail, medium, large, full等 |
$width = 0 设定的最大宽度 |
$height = 0 设定的最大高度 |
$crop = false 是否切割,如果设置为true则按照图片剪裁自定义的高度和宽度对图片进行剪裁,100%得到预设的图片尺寸,不会压缩图片的宽高比,但是会在原图的基础上进行裁剪,同时不能控制图片剪裁的起始点。false按照图片的原始长宽比进行剪裁,不会缺失图片的内容 |
源文件
wp-includes/media.php
说明:
- 使用WordPress的内置函数add_image_size()函数设置自定义图片剪裁,只会影响到今后新上传的图片,而不会对已有图片有影响。
- 尽可能少的去使用add_image_size(),应为每一次上传图片之后,无论是否需要,系统都会自动的按照add_image_size()函数设置进行剪裁,有可能造成大量无用图片占据网站空间;
- add_image_size()函数生成的图片仅能够在主题模版中使用,在编辑文章页内容时不能被使用。
举例:
在functions.php中添加:
举例1:
比如我们想在首页和分类页面使用不同的缩略图大小,就可以先预置homepage-thumb和category-thumb这两大小。
add_image_size( 'category-thumb', 200, 200 );
// 预置一个名为’category-thumb’,200*200的缩略图大小
add_image_size( 'homepage-thumb', 220, 180);
//预置一个名为’homepage-thumb’,220*180的缩略图大小
add_image_size( 'category-thumb', 300, 9999 ); //300 像素宽,无限的高
add_image_size( 'homepage-thumb', 220, 180, true ); //按照尺寸裁剪
举例2: $name 可接受thumbnail, medium, large, full等 ,如下所示:
add_image_size( 'large', 630, 630 ); //大缩略图尺寸
add_image_size( 'medium', 300, 300, true ); //中缩略图尺寸,强制裁剪
主题模板中使用新建的图片尺寸
//在首页调用
the_post_thumbnail(‘homepage-thumb’); //显示220*180的缩略图
//在分类页面调用
the_post_thumbnail(‘category-thumb’); //显示200*180的缩略图
the_post_thumbnail函数输出的html结构
<img width="150" height="150" src="" class="attachment-thumbnail wp-post-image" alt="" title="screenshot" />
由此可以看出,我们可以用css定义类attachment-thumbnail的样式就可以了。但是如果我想分别为首页和分类页面定义不同的样式,该怎么做呢?可以给缩略图添加一个属性,如
the_post_thumbnail(‘thumbnail’,array(‘class’ => ‘homepage-thumb’));
输出的html结构为
<img width="150" height="150" src=""
class="homepage-thumb wp-post-image" alt="" title="screenshot" />
相关函数
1、add_theme_support(): 添加特色图像功能
2、 the_post_thumbnail() : 用于获取文章的特色图像缩略图