我发现了this很棒的主题但由于我的代表......我不准发表评论...... 所以我发现自己被迫打开这个新主题(我是对的吗?)
它说明了这段代码以扩大我的图像,它完美无缺!
function image_crop_dimensions($default, $orig_w, $orig_h, $new_w, $new_h, $crop){
if ( !$crop ) return null; // let the wordpress default function handle this
$aspect_ratio = $orig_w / $orig_h;
$size_ratio = max($new_w / $orig_w, $new_h / $orig_h);
$crop_w = round($new_w / $size_ratio);
$crop_h = round($new_h / $size_ratio);
$s_x = floor( ($orig_w - $crop_w) / 2 );
$s_y = floor( ($orig_h - $crop_h) / 2 );
return array( 0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h );
}
add_filter('image_resize_dimensions', 'image_crop_dimensions', 10, 6);
然而它不适用于定义如下的图像尺寸:
add_image_size( '800', 800 );
当然,因为没有$new_h
对吗?
如何修复此功能以处理add_image_size( '800', 800 );
图像?
谢谢!
修改
已将我的add_image_size( '800', 800 );
更改为add_image_size( '800', 800, 800 );
,但仍然无效。
这是因为crop
设置为false,如果我这样做,add_image_size( '800', 800, 800, true );
它可以正常工作,
但我不想要庄稼!
谢谢你们
答案 0 :(得分:-2)
函数add_image_size需要数字,在代码中第一个参数是String。
所以如果你用800替换'800',可以工作。
add_image_size( 800, 800 );