WordPressで画像サイズを 指定する方法

執筆・編集 板浪 雅樹2005年から WEB 業界一筋。500サイト超を手がける SEO・WordPress のエキスパート。「公開後こそ本番」を掲げ、データ分析とユーザー視点で成果を引き出す運用を提案。

2005年に制作会社へ入社後、プログラマーからキャリアをスタート。サーバー構築・データベース設計で培った技術を強みに、WordPress テーマ/プラグイン開発やサイト移行の難案件を多数担当してきました。
2010年以降は SEO エンジニアとしても活動領域を拡大。コンテンツ設計・内部リンク最適化・高速化チューニングにより、競合の激しいビッグキーワードで上位獲得を実現してきました。
現在は TREVO のウェブディレクターとして、要件定義から運用改善まで一気通貫でリード。AI ライティングや GA4/Looker Studio を活用したレポーティング手法を開発し、「数字で説明できるサイト運用」をポリシーにクライアントの ROI 最大化を支援しています。
趣味/強み:筋トレとランニングで日々の集中力をキープ。複雑な課題を“仕組み”で解決するのが得意。
モットー:「サイトは資産。改善を止めた瞬間から価値は目減りする」
WordPressで画像をアップロードすると、テーマのデザインや用途に応じて、サムネイル・中サイズ・大サイズなどの複数のサイズを自動生成してくれます。ただし、独自のレイアウトや複数のバリエーションが必要な場合には、テーマごとに追加の画像サイズを指定することもできます。
この記事では、WordPressの「メディア設定」を使った基本的なサイズ変更方法から、functions.phpでコードを追加して独自サイズを登録する方法、そして実際に記事(投稿)やテンプレートで画像を表示・取得する方法をまとめています。
メディア設定での基本サイズ変更
WordPressでは標準機能として、サムネイル、中サイズ、大サイズの3種類の画像サイズをカスタマイズできます。
1.管理画面にログイン
左メニューの「設定」から「メディア」をクリックします。
2.各サイズを設定
- サムネイルサイズ
- 中サイズ
- 大サイズ
ここで指定する数値を変更することで、アップロードされた画像を自動的にリサイズして生成してくれます。

補足:画像サイズを変更した後の注意点
すでにアップロード済みの画像には、新しいサイズは自動適用されません。過去にアップロードした画像でも新しいサイズを適用したい場合は、「Regenerate Thumbnails」などのプラグインを利用して、サムネイルを再生成する必要があります。
参考記事:WordPressのサムネイル画像を再生成するプラグイン
独自の画像サイズを追加する方法
サムネイル・中サイズ・大サイズの3つだけでは足りない場合や、サイト独自のレイアウトに応じた画像サイズが必要な場合は、テーマのfunctions.phpに独自サイズを設定するコードを追加することができます。
add_image_size('●●', 300, 200, true);●●は任意の名前です。たとえば、bannerやsquare-thumbのように、何の用途か分かる名前を付けると便利です。300は横幅、200は縦幅をピクセルで指定します。- 第4引数(ここでは
true)は、切り抜き方法の設定です。 true:画像を指定サイズに強制的にトリミング(ハードクロップ)。false:縦横比を維持しながら指定幅・高さに合わせる(ソフトクロップ)。
functions.php に書くとき
<?php
// テーマの functions.php
function mytheme_setup() {
add_image_size('banner', 1200, 400, true);
add_image_size('square-thumb', 500, 500, true);
}
add_action('after_setup_theme', 'mytheme_setup');独自サイズの画像を表示する方法
the_post_thumbnail() を使う場合
the_post_thumbnail( '●●' ); で、記事(投稿)のアイキャッチ画像を指定した独自サイズで表示できます。
<?php the_post_thumbnail( '●●' ); ?>ここでの●●には、先ほど add_image_size で登録した名前を入れます。たとえば banner や square-thumb など、自分が設定した任意の名称を指定してください。
画像のパスを取得する方法
アイキャッチ画像のURLだけを取得して、HTMLタグを自作したい場合などに使える方法をご紹介します。
単体でパスを取得する例
<?php
$attach_id = get_post_thumbnail_id($post->ID);
$image = wp_get_attachment_image_src($attach_id, '●●');
?>
<img src="<?php echo esc_url($image[0]); ?>" alt="<?php get_the_title(); ?>">get_post_thumbnail_id($post->ID)
指定した投稿(この記事の場合は$post->ID)のアイキャッチ画像のIDを取得。wp_get_attachment_image_src( $attach_id, '●●' )
第2引数で呼び出すサイズを指定。上記のadd_image_sizeで登録した独自サイズ名や、thumbnail/medium/large/fullなどを指定できます。
ループ(while)内で使う例
<?php
if(have_posts()):
while(have_posts()):
the_post();
$thumbnail_id = get_post_thumbnail_id($post->ID);
$image = wp_get_attachment_image_src($thumbnail_id, '●●');
?>
<img src="<?php echo esc_url($image[0]); ?>" alt="<?php the_title(); ?>" />
<?php
endwhile;
endif;
?>ここでも、'●●' には登録済みのサイズ名を指定します。
まとめ
WordPressでの画像サイズ指定には、大きく分けて下記の2通りがあります。
標準機能の「メディア設定」を使う
- サムネイル・中・大サイズを変更するだけなら十分。
- すでにアップロード済みの画像を新サイズに適用する場合は、サムネイル再生成プラグインが必要。
functions.php で add_image_size を使って独自サイズを追加する
- オリジナルテンプレートや特別なレイアウトが必要な場合に便利。
- 登録したサイズは
the_post_thumbnail('●●')やwp_get_attachment_image_src($id, '●●')で呼び出せる。
2020年3月10日当時から、この方法はWordPressのテーマ開発においてスタンダードな手法として広く使われています。2024年現在も、ほとんどのバージョンで同じように有効な方法です。ただし、テーマによってはブロックエディター(Gutenberg)対応のために追加の処理や、functions.php に記述する優先度が異なる場合もあります。また、FSE(フルサイトエディティング)のテーマではカスタマイズが変化する可能性もあるため、最新のWordPress公式ドキュメントを参照すると安心です。
カスタム画像サイズを正しく設定・表示することで、適切なサイズの画像を効率的に使用できるようになり、表示パフォーマンスとデザインの両面でメリットがあります。ぜひこれらの方法を活用して、サイトをより魅力的かつ最適な形に仕上げてください。
関連の記事
-

板浪雅樹
-
衣川知秀
-

TREVOスタッフ
-

TREVOスタッフ
-

【2020年度版】 ホームページ制作 でページの読み込み速度を上げる方法
板浪雅樹
-

TREVOスタッフ









