2

我们的网站有很多图片(大约 30.000 张)。我正在寻找一种方法来重新生成所有缩略图,因为我们网站的布局已经改变。使用插件并不可靠,因为它需要浏览器。

那么,有没有办法通过 BASH 重新生成所有缩略图?

注意:图像应具有以下尺寸:630x290 和 960x495。图像应居中裁剪。

4

2 回答 2

5

您可以使用 imagemagick 的转换。

http://www.imagemagick.org/Usage/resize/#resize

作为在 bash 脚本中使用它的示例:

while IFS= read -r FILE; do
    echo convert "$FILE" -resize "630x290" "${FILE%.???}.630x290.jpg"
    echo convert "$FILE" -resize "960x495" "${FILE%.???}.960x495.jpg"
done < <(find -type f -iname '*.jpg')

当您认为它已经是正确的命令时,请删除 echo。

于 2013-08-10T17:52:26.183 回答
0

我不知道 BASH,但是你可以在没有任何插件的情况下重新生成你的帖子缩略图,只需将下面的代码放在你的主题 functions.php

add_action('image_save_pre', 'add_image_options');
function add_image_options($data){
    global $_wp_additional_image_sizes;
    foreach($_wp_additional_image_sizes as $size => $properties){
        update_option($size."_size_w", $properties['width']);
        update_option($size."_size_h", $properties['height']);
        update_option($size."_crop", $properties['crop']);
    }
    return $data;
}
于 2013-08-10T17:24:50.330 回答