WordPressで不要な画像サイズを生成しない方法(add_image_sizeで追加したサイズの解除も含む)

WordPressのカスタム投稿まわりでの画像サイズの取り扱いについてメモ。

WordPressの画像サイズの自動生成はとても便利な機能です。
アイキャッチ画像や投稿サムネイルが使用できるようになったことで以前と比べてかなりCMSとしての使い勝手も良くなりました。

ですが、子テーマなどで使う場合にも親テーマのfunctions.phpにadd_image_sizeで登録したものが継承されてしまったりして少し使い勝手が悪いところもあります。

今回はそんな場合に使える登録されている画像サイズを解除する方法をご紹介します。


方法1:フィルターでunsetパターン

画像生成時にフィルターをかけてunsetしてしまう方法です。

//自分で追加したサイズ
add_image_size( 'original-add-size', 500, 300 ); 

function remove_image_sizes( $sizes) {
	
	//WordPressデフォルトの画像サイズを生成しないように
	unset( $sizes['thumbnail']);
	unset( $sizes['medium']);
	unset( $sizes['large']);
	//add_image_sizeで追加したサイズを生成しないように
	unset( $sizes['original-add-size']);
	
	return $sizes;

}
add_filter('intermediate_image_sizes_advanced', 'remove_image_sizes');

上記をテーマのfunctions.phpに書いてあげれば不要な画像サイズを生成しなくなります。

方法2:add_image_sizeで0を登録する方法

こちらは裏ワザ的手法でパラメータを0にして登録してしまう方法です。

add_image_size( 'thumbnail', 0, 0);
add_image_size( 'medium', 0, 0);
add_image_size( 'large', 0, 0);

add_image_size( 'original-add-size', 0, 0); 

こうすることにより当該画像サイズは生成されなくなります。

この方法は応用がきくので、多くの人が悩むであろうカスタム投稿での画像サイズ分けを実現することができるようになります。

続きは明日の記事で。