Answers:
在WordPress中上传图片时,图片会以其原始大小保存,并另存为具有不同大小的某些调整大小的副本。以这种方式,容易将不同尺寸的同一图像用于不同目的。
默认情况下,WordPress以3种不同的大小创建3个副本:
'thumb'
'medium'
'large'
可以在WordPress信息中心的菜单下设置这3种尺寸的像素尺寸Settings -> Media
。
现在,该函数add_image_size
用于注册一个新的大小,该大小增加了3个默认值。
在WordPress功能(例如wp_get_attachment_image_src
,)中wp_get_attachment_image
,可以使用其名称检索每个已注册的尺寸wp_get_attachment_link
。
所有这些函数都接受一个参数$size
,该参数应为已注册尺寸之一(3个标准之一或向中注册的自定义尺寸之一add_image_size
)的名称。
如果'full'
将用作$size
参数,则返回原始图像,而不调整其大小。
除了上述功能外,还有两个其他功能可以利用图像尺寸:get_the_post_thumbnail
和the_post_thumbnail
。
这两个函数获取(第一个)和回显(第二个)被设置为帖子的“功能图像”的图像。
这些函数返回(或回显)的是完整的img
html标签,例如
<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />
那么,使用的大小是多少?
如果将a $size
作为第二个参数(第一个为$postid
)传递,则这些函数将以该大小返回图像。否则,这些功能将搜索以名称注册的图像尺寸:post-thumbnail
。
这不是3个默认大小之一,实际上,它是第4个标准大小(考虑了第5个大小full
),您可以调用进行注册set_post_thumbnail_size
。
所以
set_post_thumbnail_size( $width, $height, $crop );
是的快捷方式
add_image_size( 'post-thumbnail', $width, $height, $crop );
如果您尚未调用set_post_thumbnail_size
(这表示'post-thumbnail'
未创建大小),则WordPress将使用该大小thumb
,并且即使该大小不可用,WordPress也会使用原始图像,而该图像不会调整大小。
在设计主题时,注册自定义图像大小可能非常有用,但是请不要滥用:复制所有上载的图像并为所有已注册的大小调整大小,因此注册很多大小会大大减慢图像的上载过程。
一张纸条:
请注意,当WordPress创建图像的缩放副本时,它不会放大图像,而只会复制较小的副本:例如,如果原始图像为400x500px,“中”图像尺寸为800x600px,则不会创建中等尺寸和较大尺寸。
因此,注册图像大小永远不会保证WordPress内容文件夹中实际存在每种已注册大小的图像文件。即使已注册的图像大小容易更改:更改设置,切换主题等。
当图像大小改变时,无论出于何种原因,该改变都会对更改后上传的图像产生影响。之前上传的图像不会更改尺寸,也不会重新缩放和重新保存。
如果在某些图像已经上传后(例如,在更改主题之后)需要依靠特定的图像尺寸,则插件Regenerate Thumbnails将可以节省生命。
set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized.
...不正确。根据我的测试经验,如果set_post_thumbnail_size()
尚未调用,WP会退回到原尺寸图像。
从食典:
set_post_thumbnail_size
设置默认的“特色图像”(以前称为“缩略图”)尺寸。要为“特色图像”注册其他图像尺寸,请使用:add_image_size()。
add_image_size
注册新的图像尺寸。这意味着当您上传新图像时,WordPress将创建具有指定尺寸的“特色图像”(以前称为“发布缩略图”)的副本。