ワードプレス、画像サイズを変更したり、しなかったり

ワードプレスって画像をアップロードすると自動でサイズを変更する機能があるんだなー。
知っているのと知らないのでは色々と違うと思うんだ。
functions.phpに追加コードを記入したら色々なサイズが設定出来るわけだ。
でもね、サイズの追加をしても画像を選ぶときに選択できないのだ。
調べた結果は・・・
サイズの追加方法
メディアのデフォルト設定は、
「サムネイル(150×150)」
「中サイズ(300×300)」
「大サイズ(1024×1024)」
これは設定のメディアから変更が出来ますのよ。
サイズの追加は、functions.phpに追加するだけで自動生成されるのだ。
add_image_size('size280', 280, 280, true);
add_image_size('size800', 800, 800, false);
関数リファレンスより。
add_image_size( $name, $width, $height, $crop );
$name (必須) 新しい画像サイズの名前。初期値: なし
$width (optional) 投稿サムネイルの幅をピクセル数で表すもの。初期値: 0
$height (optional) 投稿サムネイルの高さをピクセル数で表すもの。初期値: 0
$crop (optional) 画像の切り抜きを行うか否かを指定。初期値: false
False – 指定した縦または横の大きさでのリサイズ。
True – 指定した大きさでの切り抜き。
だけどもね、画像を挿入したいときに選択出来ないのよ。
カスタムサイズで画像の大きさを変えることは出来るけど、せっかく生成された大きさを使いたいじゃないですか?
アイキャッチだけしか使えないって勿体ない。
って、ことで・・
追加サイズを選択出来る方法は?
検索したら2種類あるのだ。
どっちも動作するから何が正解で何がダメなのか分かりません。
そもそもPHPとか知らないですからねー(笑)
「WordPress メディアサイズ追加と投稿画面のメディア挿入時の選択肢追加」の方法
//メディアにサイズ選択肢追加
function new_custom_sizes($sizes) {
return array_merge($sizes, array(
'size280' => __('280x280'),
'size800' => __('800x800'),
));
}
add_filter('image_size_names_choose', 'new_custom_sizes');
add_image_size で指定したのと同じじゃないとダメなのかな?
add_image_size( $name, $width, $height, $crop );
'$name' => __('$widthx$height'),
って、解釈で良いかな?
異なる$nameだと選択に表示されなかったし、違うサイズを書いたらそれが表示されたからね。
function my_media_insert_all_sizes( $default_sizes ) {
$sizes = get_intermediate_image_sizes();
foreach ( $sizes as $size ) {
if ( !array_key_exists( $size, $default_sizes ) ) {
$default_sizes[$size] = ucfirst( $size );
}
}
return $default_sizes;
}
add_filter( 'image_size_names_choose', 'my_media_insert_all_sizes' );
上はサイズやら名前やら合わせないといけないけど、表示したいものだけに出来る。
自分は下が簡単で楽だと思う。
アイキャッチのための生成したサイズも表示されるけどね。
まとめ
動けばどっちでも良いんだけど、どっちが正解?
この記事へのコメントはありません。