WordPressに画像をアップロードした場合。
アップロードした画像だけではなく、アップロードした画像を元にサイズの異なる画像が複数作成されます。
例えば僕の環境の場合、1枚の画像をアップロードすると合計で6枚の画像が作成されます。
内訳は
- オリジナルサイズの画像
- 幅150px高さ150の画像(Thumbnailサイズ)
- 幅300pxの画像(Mediumサイズ)
- 幅768pxの画像(Medium_largeサイズ)
- 幅1,024pxの画像(Largeサイズ)
です。
作成される全てのサイズの画像を実際にブログで使用するのであれば問題ありません。
でも、全く使わないサイズの画像もあるのではないでしょうか。
そういう画像は最初から作成しないようにすれば無駄な画像が増えずに、サーバーの容量の節約になりますし、バックアップ時にも対象となるファイルが少なくて済みます。
今日はWordPressでサイズの異なる画像を作成させない方法について書きたいと思います。
もくじ
管理画面から変更する方法
Medium_largeサイズ以外のサイズを作成しないようにする
WordPressの管理画面から「設定」→「メディア」をクリック。
「メディア設定」画面になるので、作成が不要なサイズの「幅」と「高さ」を「0」にします。
試しに全てのサイズを0にしてみます。
そして画像をアップロードしてみると
Thumbnailサイズ、Mediumサイズ、Largeサイズの画像は作成されなくなり、オリジナルサイズとMedium_largeサイズだけになりました。
Medium_largeサイズの画像が作成されないようにする
アドレスバーに
https://ドメイン名/wp-admin/options.php
と入力してエンターキーを押下します。
すると「すべての設定」という画面になります。
「すべての設定」画面をスクロールさせていくと中ほどに「medium_large_size_w」という項目があり768pxに設定されています。
これを「0」にして最下部の「設定を保存」ボタンをクリックして設定を保存すると、medium_largeサイズの画像は作成されなくなります。
幅が1568pxの画像が作成される場合
使用しているテーマ(例:Twenty Nineteen)によっては幅が1568pxの画像も作成されることがあります。
この1568pxの画像を作成されないようにするには、WordPress管理画面から「外観」→「テーマエディター」をクリック。
「テーマの編集」画面になるので「テーマファイル」から「テーマのための関数(functions.php)」をクリック。
functions.phpの中に
set_post_thumbnail_size( 1568, 9999 );
という記述があると思うので、これをコメントアウトするか削除した後に保存します。
これにより幅1568pxの画像は作成されなくなるはずです。
functions.phpを編集する方法
Medium_largeサイズ以外を作成させない
Medium_largeサイズ以外は、functions.phpに以下のコードを記入すると作成されなくなります。
function remove_image_sizes( $sizes ) {
unset( $sizes['thumbnail'] );
unset( $sizes['medium'] );
unset( $sizes['large'] );
return $sizes;
}
add_filter( 'intermediate_image_sizes_advanced', 'remove_image_sizes' );
これによりオリジナルサイズの画像以外ではMedium_largeサイズの画像のみが作成されるようになります。
Medium_largeサイズの作成を止めるには別のコードが必要となります。
と書けばMedium_largeサイズも作られなさそうな気がしますが
作られてしまいます
Medium_largeサイズを作成させない
Medium_largeサイズを作成させないためにはfunctions.phpに以下のコードを記入する必要があります。
update_option( 'medium_large_size_w', 0 );
これにより、Medium_largeサイズの画像も作成されなくなります。
簡単に設定できます
以上がWordPressで不要なサイズの画像を作らせない方法です。
個人的にはfunctions.phpを編集するよりも「メディア管理」画面と「すべての設定」画面から設定するやり方がリスクが無くて簡単だと思います。
5分もあれば設定できるので、絶対に使わないサイズの画像はあらかじめ作成されないようしておけば、サーバーの容量を無駄に使うことがありません。
何かの参考になれば幸いです。