答案似乎是no...
我遵循了核心函数,发现了一条死胡同。并找到此帖子(How can I make add_image_size() crop from the top? ) 哪里Rarst 表示:
中间图像生成非常严格。Image\\u resize()使其接近代码,并且完全没有挂钩。
But, 按照另一个答案(来自bradt) 他发布的代码(Image Crop Position in WordPress ), 我想我明白了:)
在函数中bt_generate_attachment_metadata
, 我刚把电话改成bt_image_make_intermediate_size
包括最后一个参数$size
$resized = bt_image_make_intermediate_size( $file, $size_data[\'width\'], $size_data[\'height\'], $size_data[\'crop\'], $size );
并修改了函数的beggining
bt_image_make_intermediate_size
具体如下:
添加了$size
函数的参数,而不是默认值null
值到$suffix
, A.switch
到我们的新后缀
function bt_image_make_intermediate_size( $file, $width, $height, $crop = false, $size ) {
if ( $width || $height ) {
switch($size) {
case \'thumbnail\':
$suffix = \'t\';
break;
case \'medium\':
$suffix = \'m\';
break;
case \'large\':
$suffix = \'l\';
break;
default:
$suffix = null;
break;
}
$resized_file = bt_image_resize( $file, $width, $height, $crop, $suffix, null, 90 );
<罢工>
Here ,我的mods完整代码的副本,仅供参考
和
diff from the original.
【2021年】
我查看了修复以下警告的代码,(h/t@meek2100):两个WP函数被弃用,并且有一个关于命名参数的PHP 8通知
Gist 带有代码注释的更改。