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

ワードプレス
スポンサーリンク

ワードプレスって画像をアップロードすると自動でサイズを変更する機能があるんだなー。
知っているのと知らないのでは色々と違うと思うんだ。
functions.phpに追加コードを記入したら色々なサイズが設定出来るわけだ。

でもね、サイズの追加をしても画像を選ぶときに選択できないのだ。
調べた結果は・・・

スポンサーリンク

サイズの追加方法

メディアのデフォルト設定は、
「サムネイル(150×150)」
「中サイズ(300×300)」
「大サイズ(1024×1024)」
これは設定のメディアから変更が出来ますのよ。

サイズの追加は、functions.phpに追加するだけで自動生成されるのだ。

functions.php
add_image_size('size280', 280, 280, true);
add_image_size('size800', 800, 800, false);

関数リファレンスより。

functions.php
add_image_size( $name, $width, $height, $crop );

$name (必須) 新しい画像サイズの名前。初期値: なし
$width (optional) 投稿サムネイルの幅をピクセル数で表すもの。初期値: 0
$height (optional) 投稿サムネイルの高さをピクセル数で表すもの。初期値: 0
$crop (optional) 画像の切り抜きを行うか否かを指定。初期値: false
False – 指定した縦または横の大きさでのリサイズ。
True – 指定した大きさでの切り抜き。

だけどもね、画像を挿入したいときに選択出来ないのよ。
カスタムサイズで画像の大きさを変えることは出来るけど、せっかく生成された大きさを使いたいじゃないですか?
アイキャッチだけしか使えないって勿体ない。

って、ことで・・

追加サイズを選択出来る方法は?

検索したら2種類あるのだ。
どっちも動作するから何が正解で何がダメなのか分かりません。
そもそもPHPとか知らないですからねー(笑)

WordPress メディアサイズ追加と投稿画面のメディア挿入時の選択肢追加」の方法

functions.php
//メディアにサイズ選択肢追加
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 で指定したのと同じじゃないとダメなのかな?

functions.php
add_image_size( $name, $width, $height, $crop );
'$name' => __('$widthx$height'),

って、解釈で良いかな?
異なる$nameだと選択に表示されなかったし、違うサイズを書いたらそれが表示されたからね。

メディアの挿入から、全サイズを挿入可能にする」の方法

functions.php
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' );

上はサイズやら名前やら合わせないといけないけど、表示したいものだけに出来る。

自分は下が簡単で楽だと思う。
アイキャッチのための生成したサイズも表示されるけどね。

スポンサーリンク

まとめ

動けばどっちでも良いんだけど、どっちが正解?

スポンサーリンク

関連記事一覧

  1. この記事へのコメントはありません。

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)