下面的内容完全基于过去15分钟左右的实验,所以我不认为它是规范的,但。。。
wp_get_attachment_image_src()
使用image_downsize()
函数,它将尝试查找并返回image closest in size to the supplied size values. 如果您尝试使用已知的图像大小(查看保存到的实际图像wp-content/uploads
) 你会明白我的意思。尽管名称不同,它有时会返回更大的图像,但数组的高度和宽度分量应设置为提供的值,如果这些值非常不准确,则应尝试使用缩放近似值(看起来如此)。我不知道你的情况中是否发生了这种“缩放”,但它可能是,而且似乎是可能的。
让我举个例子。我有一个图像,保存为150x150、293x300和全尺寸。这
var_dump(wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array(20, 20)));
。。。返回一个具有150x150图像和我提供的大小(20x20)的数组。然而这。。。
var_dump(wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array(200, 250)));
。。。返回150x150图像URL,但大小为200x204。这不是我提供的。大小值已通过某些算法更改。经过进一步调查
image_constrain_size_for_editor
是更有可能的候选人。
您还可以检查是否有任何功能应用于image_downsize
过滤器,因为这将完全劫持函数。