WordPressで画像をアップロードすると、
「サムネイル」「中サイズ」「大サイズ」の3種類が自動的に生成されます。

ですが、運用中のサイトに新たな表示エリアを追加する場合など、
デフォルトサイズとは別に、独自のサイズでアイキャッチ画像を用意したい場面も出てきます。

そんなときに使えるのが add_image_size() 関数です。
functions.phpに数行追加するだけで、カスタムサイズの画像を自動生成できるようになります。

👉 この記事では、add_image_size()の基本的な使い方から、既存画像への適用方法まで順番に解説します。

add_image_size()の基本的な使い方

add_image_size()は、WordPressに新しい画像サイズを登録するための関数です。
functions.phpに追加することで、以降にアップロードした画像が指定サイズで自動生成されるようになります。

構文

add_image_size( $name, $width, $height, $crop );

各パラメータの意味は次のとおりです。

  • $name:画像サイズの名称(半角英数で指定)
  • $width:横幅(px)※数字のみ、「px」は不要
  • $height:高さ(px)※数字のみ、「px」は不要
  • $crop:true=指定サイズでトリミング、false=縦横比を維持してリサイズ(省略時はfalse)

記述例

例えば、横幅400px・高さ300pxでトリミングするサイズを追加したい場合は、以下のように記述します。

add_image_size( 'my-custom-size', 400, 300, true );

これをテーマの functions.php に追加するだけでOKです。

予約済みサイズ名に注意!

WordPressにはあらかじめ登録されているサイズ名があります。
これらと同じ名前を使うと、既存の設定を上書きしてしまうため注意が必要です。

  • thumb / thumbnail
  • medium / medium_large
  • large
  • post-thumbnail

カスタムサイズには、これら以外のオリジナルの名前を付けるようにしましょう。

追加したサイズを表示するには

画像サイズを登録したら、テンプレートファイル内で呼び出す記述も必要です。

アイキャッチ画像として表示させる場合は、表示させたいテンプレートファイル(single.phpやarchive.phpなど)のループ内に以下のように記述します。

<?php the_post_thumbnail( 'my-custom-size' ); ?>

👉 ‘my-custom-size’の部分は、add_image_size()で設定したサイズ名に合わせてください。

※テーマファイルを直接編集する場合は、必ず子テーマで作業することを強くおすすめします。親テーマを直接編集すると、テーマ更新時に変更内容が消えてしまいます。

既存の画像には自動で適用されない!

add_image_size()を追加しても、
設定前にアップロード済みの既存画像には新しいサイズが自動では適用されません。

これは、WordPressが画像サイズを「アップロード時」に生成する仕組みになっているためです。

👉 そのため、既存画像にも新サイズを適用するには、サムネイルを再生成する作業が別途必要になります。

サムネイル再生成には、プラグインを利用するのがおすすめです。
プラグインに関しては、次の章で紹介するので、併せてチェックしてください

既存画像を一括再生成するプラグイン

既存画像のサムネイルを再生成するには、プラグインを使うのが最も手軽です。
代表的なプラグインを2つご紹介します。

① Regenerate Thumbnails(定番)

もっとも有名なプラグインがRegenerate Thumbnailsです。
比較的簡単に使えるので、基本的には個のプラグインの使用をおすすめします。

  1. 「プラグイン」→「新規追加」で「Regenerate Thumbnails」を検索・インストール・有効化
  2. 「ツール」→「Regenerate Thumbnails」を開く
  3. 「すべてのサムネイルを再生成する」ボタンをクリック
  4. 進行状況が表示されるので、完了まで待つ

画像の枚数が多いサイトでは、処理に時間がかかることがあります。
1時間以上かかることもありますが、完了するまでそのままにして待ちましょう。

② Force Regenerate Thumbnails(強制再生成タイプ)

古いサムネイルファイルを削除しながら強制的に再生成したい場合は、Force Regenerate Thumbnailsが便利です。

  1. 「プラグイン」→「新規追加」で「Force Regenerate Thumbnails」を検索・インストール・有効化
  2. 「ツール」→「Force Regenerate Thumbnails」を開く
  3. 「すべてのサムネイルを再生成する」ボタンをクリック

👉 古い不要なサムネイルファイルを削除しながら再生成するため、サーバーの余分な画像ファイルをスッキリさせたい場合に特に有効です。

【注意】どちらのプラグインも実行前には必ずバックアップを取っておきましょう。
特に画像ファイルが多いサイトでは、念のため実行前にメディアフォルダごとバックアップしておくと安心です。

まとめ

WordPressでカスタムの画像サイズを追加する手順を整理すると、次のとおりです。

  1. functions.phpにadd_image_size()を追加する
  2. テンプレートファイルにthe_post_thumbnail()で表示コードを記述する
  3. 既存画像はプラグインでサムネイルを再生成する

add_image_size()は、WordPressにおいて独自サイズのサムネイルを生成できる関数です。
シンプルな関数で、functions.phpに数行のコード追加するだけで、カスタムサイズを追加できます。

ただし、テーマファイルの編集を伴うため、必ず子テーマで作業し、事前にバックアップを取ることを忘れずにしましょう。

カスタム画像サイズをうまく活用して、サイトのレイアウトをより思い通りに整えていきましょう。