1. 主页
  2. 文档
  3. WordPress函数
  4. add_image_size

add_image_size

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

说明:

  1. 使用WordPress的内置函数add_image_size()函数设置自定义图片剪裁,只会影响到今后新上传的图片,而不会对已有图片有影响。
  2. 尽可能少的去使用add_image_size(),应为每一次上传图片之后,无论是否需要,系统都会自动的按照add_image_size()函数设置进行剪裁,有可能造成大量无用图片占据网站空间;
  3. 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() : 用于获取文章的特色图像缩略图

这篇文章对您有用吗?

我们要如何帮助您?