私たちのウェブサイトにはたくさんの画像があります (約 30.000)。ウェブサイトのレイアウトが変更されたため、すべてのサムネイルを再生成する方法を探しています。ブラウザが必要なため、プラグインの使用は信頼できません。
では、BASH 経由ですべてのサムネイルを再生成する方法はありますか?
注: 画像のサイズは 630x290 および 960x495 である必要があります。画像は中央でトリミングする必要があります。
私たちのウェブサイトにはたくさんの画像があります (約 30.000)。ウェブサイトのレイアウトが変更されたため、すべてのサムネイルを再生成する方法を探しています。ブラウザが必要なため、プラグインの使用は信頼できません。
では、BASH 経由ですべてのサムネイルを再生成する方法はありますか?
注: 画像のサイズは 630x290 および 960x495 である必要があります。画像は中央でトリミングする必要があります。
imagemagick の convert を使用できます。
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 を削除してください。
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;
}