MENU

add_image_size()

WordPress では、投稿やページにアップロードした画像が自動的に複数のサイズで生成されます。

add_image_size() を使用することで、独自の画像サイズを追加し、テーマやプラグインで利用できるようになります。

本記事では add_image_size() の基本的な使い方から応用まで詳しく解説します。

目次

機能の説明

add_image_size() とは?

add_image_size() は、WordPress に新しい画像サイズを登録するための関数です。

登録したサイズは、投稿やカスタム投稿タイプで画像をアップロードした際に自動生成され、the_post_thumbnail() などで利用できます。

どのようなときに使うのか?

  • サイトのデザインに最適な画像サイズを追加したいとき
  • サムネイル画像の比率を統一したいとき
  • 余分な画像サイズを減らし、パフォーマンスを向上させたいとき

シンプルなコード例

function my_custom_image_sizes() {
    add_image_size('custom-thumb', 300, 200, true);
}
add_action('after_setup_theme', 'my_custom_image_sizes');
  • custom-thumb という新しい画像サイズを登録。
  • 幅300px、高さ200pxの固定サイズ。
  • true を指定することで、中央からトリミングされる。
  • after_setup_theme フックを利用してテーマがセットアップされた後に実行。

使い方の説明

add_image_size() の基本的な書き方は以下のとおりです。

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

引数の説明

引数説明
$name画像サイズの名前(文字列)
$width画像の幅(ピクセル)
$height画像の高さ(ピクセル)
$croptrue(トリミング)または false(アスペクト比を維持)

具体的な使用例

function register_custom_sizes() {
    add_image_size('custom-large', 1024, 768, false);
    add_image_size('custom-square', 500, 500, true);
}
add_action('after_setup_theme', 'register_custom_sizes');

一緒に使うことが多い関連タグ

the_post_thumbnail()

登録した画像サイズを投稿で表示する場合に使用。

echo get_the_post_thumbnail( get_the_ID(), 'custom-large' );

set_post_thumbnail_size()

デフォルトのサムネイルサイズを変更する。

set_post_thumbnail_size(150, 150, true);

追加情報で取得したい場合

WordPress では wp_get_attachment_image_src() を使うことで、指定した画像サイズの URL を取得できます。

$image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'custom-thumb' );
echo '<img src="' . esc_url( $image[0] ) . '" width="300" height="200">';

想定されるトラブル

追加した画像サイズが反映されない

解決方法

過去にアップロードした画像には新しいサイズが適用されないため、Regenerate Thumbnails プラグインを使用してサムネイルを再生成します。

wp media regenerate

Q&A

追加した画像サイズを管理画面のメディア設定で変更できますか?

いいえ。add_image_size() で追加したサイズは、管理画面の設定には表示されません。

画像を特定のサイズで取得するには?

wp_get_attachment_image_src() を使用して取得できます。

まとめ

add_image_size() は、WordPress の画像管理をカスタマイズする重要な関数です。

適切に設定することで、サイトのデザインやパフォーマンスを向上させることができます。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次