2

私たちのウェブサイトにはたくさんの画像があります (約 30.000)。ウェブサイトのレイアウトが変更されたため、すべてのサムネイルを再生成する方法を探しています。ブラウザが必要なため、プラグインの使用は信頼できません。

では、BASH 経由ですべてのサムネイルを再生成する方法はありますか?

注: 画像のサイズは 630x290 および 960x495 である必要があります。画像は中央でトリミングする必要があります。

4

2 に答える 2

5

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 を削除してください。

于 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 に答える