まず、functions.php の読み込み順は、子テーマ、親テーマの順となります。
次に、親テーマ(Twenty Eleven)の
add_image_size( 'small-feature', 500, 300 );
は、twentyeleven_setup という関数で行われています。
さらに、この twentyeleven_setup という関数全体が、
if ( ! function_exists( 'twentyeleven_setup' ) ):
意訳すると「twentyeleven_setupという関数が存在しなければ」という条件分岐によって括られています。つまり、子テーマにおいて、twentyeleven_setup 関数を定義しておけば、親テーマの twentyeleven_setup は条件分岐によって、読み込まれないことになります。
このことから、子テーマに、親テーマの twentyeleven_setup 関数をそのままコピーして、
add_image_size( 'small-feature', 500, 300 );
の一文を削除すれば、small-feature の画像サイズは生成されなくなります。
ただし、この small-feature は、ショーケース機能を利用する際に使われる可能性がありますので、留意してください。
トピック投稿者
a1bo
(@a1bo)
>jdbbさん
返信ありがとうございました。
早速、リンク先のコードを試しましたが、やはり「不要な画像サイズ」が自動生成されます。それとは逆に「メディア設定で指定した画像サイズ」は生成されません。
以上のことから、初心者ながらリンク先のコードを解読し、自分なりに考えたコードが下記になります。
function paulund_remove_default_image_sizes( $sizes) {
unset( $sizes['small-feature']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'paulund_remove_default_image_sizes');
↑これだと、不要な画像(small-feature)は生成されず、メディア設定で指定した画像は生成されます。
コードの記述的には、これで問題ないのでしょうか? よろしくお願い致します。
トピック投稿者
a1bo
(@a1bo)
>jim912さん
返信ありがとうございました。子テーマ使用時の functions.php の読み込み順なども理解できました。
それで、詳しく分からない部分が下記です。
このことから、子テーマに、親テーマの twentyeleven_setup 関数をそのままコピーして、
add_image_size( 'small-feature', 500, 300 );
の一文を削除すれば、small-feature の画像サイズは生成されなくなります。
この文章を自分なりに解釈した手順をまとめました。
【手順】
1:子テーマの functions.php 内に、
add_image_size( 'small-feature', 500, 300 );
をコピーする。
2:親テーマの functions.php 内の、
add_image_size( 'small-feature', 500, 300 );
を削除する。
以上の手順で宜しいのでしょうか? 理想としては、「親テーマの functions.php」は削除などの変更を加えたくありません(テーマアップデート際に元の状態に戻ってしまう可能性があるため)。
よろしくお願い致します。
トピック投稿者
a1bo
(@a1bo)
>jim912さん
返信ありがとうございました。上記の方法により、無事出来ました。丁寧に教えていただきありがとうございました。
「jdbbさん」の方法もふまえて、どちらかを好みで使わせていただきます。
トピック投稿者
a1bo
(@a1bo)
『uploadsフォルダ内に、“不要な画像サイズ” が自動生成されない方法』が出来たので、「解決済み」にさせていただきます。
ありがとうございました。