用于扩展Wordpress图像的功能

时间:2015-09-15 17:53:42

标签: wordpress

我发现了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 );它可以正常工作, 但我不想要庄稼! 谢谢你们

1 个答案:

答案 0 :(得分:-2)

函数add_image_size需要数字,在代码中第一个参数是String。

所以如果你用800替换'800',可以工作。

add_image_size( 800, 800 );