我们的网站有很多图像(大约30.000)。我正在寻找一种方法来重新生成所有缩略图,因为我们的网站布局已经改变。使用插件并不可靠,因为它需要浏览器。
那么,有没有办法通过BASH重新生成所有缩略图?
注意:图像应具有以下尺寸:630x290和960x495。图像应该是中心裁剪的。
答案 0 :(得分: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')
当你认为它已经是正确的命令时,删除回声。
答案 1 :(得分:0)
我不知道BASH, 但你可以在没有任何插件的情况下重新生成你的帖子缩略图,只需将下面的代码放在你的主题函数中.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;
}