Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPBカップ
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPressで追加画像サイズを作成する方法

画像をアップロードするたびに、WordPressは自動的に異なるサイズの画像のコピーを複数作成します。WordPressのテーマやプラグインも、さまざまなサイズのコピーを作成します。しかし、これらのデフォルトは、あなたが探しているものではありません。

画像が大きすぎてウェブサイトが遅くなったり、小さすぎてインパクトがなくなったり。WPBeginnerでは、あなたのウェブサイトにぴったり合った美しい画像の重要性を知っています。ですから、慌てないでください-私たちがこれらの問題を解決するお手伝いをします。

この投稿では、WordPressで簡単に追加画像サイズを作成し、サイトで使用する方法を紹介します。

Creating additional image sizes in WordPress

なぜWordPressで追加画像サイズを作成するのか?

通常、一般的なWordPressテーマやプラグインは、追加の画像サイズを自動的に作成します。例えば、アーカイブページやカスタムホームページのサムネイルとして使用するために、テーマが異なるサイズを作成することがあります。

しかし、時にはこれらの画像があなたの要求を完全に満たさないことがあります。例えば、子テーマやグリッドレイアウトで異なる画像サイズを使いたい場合などです。

そのためには、WordPressで追加の画像サイズを作成し、必要なときに適切な画像を呼び出す必要がある。

今回は、WordPressで画像サイズを追加する方法をご紹介します。この記事で取り上げるすべてのヒントを簡単に紹介します:

準備はいいかい?始めよう

テーマの画像サイズを追加登録する

ほとんどのWordPressテーマは、記事のサムネイルとして知られるフィーチャー画像をサポートしています。しかし、カスタムWordPressテーマを作成する場合は、フィーチャー画像のサポートを追加する必要があります。

WordPressの専門家の多くは、テーマのfunctions.phpファイルに以下のカスタムコードスニペットを追加することを推奨しています。

add_theme_support( 'post-thumbnails' );

しかし、たった一つの小さなミスでサイトが壊れてしまう危険性があるため、初心者に優しい方法とは言えません。代わりに、WPCodeを使ってカスタム・スニペットを追加することをお勧めします。

WPCode's homepage

WPCodeは、WordPressへのカスタムコードの追加を簡素化する強力なコードスニペットプラグインで、200万人以上のウェブサイト所有者に使用されています。まるでテーマファイルのようにスニペットを実行し、カスタマイズの将来性を高め、初心者でも簡単に管理できます。

WPCode無料版では、カスタム・コード・スニペットを追加することができます。それでは、プラグインをインストールして有効化しましょう。ヘルプが必要な場合は、WordPressプラグインのインストール方法のガイドでステップバイステップの手順を見ることができます。

有効化したら、WordPressダッシュボードからCode Snippet ” + Add Snippetに移動します。そして、「カスタムコードを追加(新規スニペット)」ボタンをクリックしてください。

Add a new custom snippet in WPCode

次の画面で、カスタムコードスニペットに名前を付けます。例えば、これを「Post Thumbnail Support」と名付けることができます。

次に、このコードをコピー&ペーストして「コードプレビュー」エリアに貼り付けます:

add_theme_support( 'post-thumbnails' );

エディター上ではこんな風に見えるかもしれない:

Adding post thumbnail support custom code

その後、コードタイプを「PHPスニペット」に変更することを確認しよう。

次に、トグルを「非アクティブ」から「アクティブ」に切り替え、「スニペットを保存」をクリックする。

Saving post thumbnail support custom code

投稿サムネイルのカスタムコードスニペットサポートを追加したら、add_image_size()関数を使って画像サイズを追加登録できます。

コード・スニペット” + “スニペットの追加 “でWPCodeカスタムコードスニペットエディタを開きます。その後、「カスタムコードを追加(新規スニペット)」ボタンを選択します。

Add a new custom snippet in WPCode

次に、このコードスニペットを「Additional Image Sizes」と名付けます。

次に、コード・エディターで、add_image_size関数を以下の形式で使用する:

add_image_size( 'name-of-size', width, height, crop mode );

以下は、完全な機能がどのように見えるかのいくつかの例である:

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

WordPressの画像サイズは3種類あります。それぞれハードクロップ、ソフトクロップ、高さ無制限など異なるモードがあります。ニーズに応じてお選びください。

これがコード・エディターでのプレビューだ:

Adding additional image size custom code

コードタイプを’PHP’に変更し、’Inactive’から’Active’に切り替え、’Save’ボタンをクリックすることをお忘れなく。

それを念頭に置いて、それぞれのモードを自分のWordPressブログやウェブサイトでどのように使うかを見てみよう。

1.ハードクロップモード

上記の例では、heightの後に’true’を指定しています。これはWordPressに、私たちが定義したサイズ(この場合は120px x 120px)に正確に画像を切り抜くよう指示します。

この機能は、画像のサイズに応じて、自動的に横から、または上下からトリミングします。こうすることで、すべての画像が均整のとれた、WordPressウェブサイト上で見栄えの良いものになります。

Hard crop images example

2.ソフトクロップモード

ソフトクロッピングの例でわかるように、高さの後に「true」値を追加していない:

add_image_size( 'homepage-thumb', 220, 180 ); 

これは、ソフトクロップモードが初期設定でオンになっているためです。

ソフトクロップは、画像を歪ませることなく比例的にリサイズするため、希望通りの寸法が得られない場合があります。通常、ソフトクロップは幅の寸法に合わせますが、高さの寸法はそれぞれの画像の比率によって異なる場合があります。

これがその例だ:

Soft crop example

3.高さ無制限モード

時には、幅を制限しながらもウェブサイトで使用したい長い画像がある場合があります。例えば、ビジネスサイト用にインフォグラフィックを作成したとします。インフォグラフィックは非常に長くなりがちで、通常はコンテンツの幅よりも広くなります。

高さ無制限モードでは、高さを制限することなく、レイアウトを崩さない幅を指定できます。

Unlimited height mode

WordPressテーマで追加画像サイズを表示する

サイトに画像サイズを追加したら、WordPressテーマで表示させましょう。

異なる画像サイズを使用したいテーマファイルを開き、投稿ループ内に以下のコードを追加するだけです:

	<?php the_post_thumbnail( 'your-specified-image-size' ); ?>

画像がサイトの他の部分とぴったり合うように、スタイリングを追加することもできます。しかし、あなたのテーマで追加の画像サイズを表示するために必要なのは、すべてこれだけです。

追加画像サイズの再生成

add_image_size()関数は、新しい画像をアップロードしたときにのみ追加サイズを作成します。つまり、add_image_size()関数を作成する前にアップロードした画像は、新しいサイズを持たないということです。

この問題を解決するには、Perfect Imagesを使ってWordPressウェブサイトのサムネイルを再生成する必要があります。このプラグインは、フィーチャー画像と網膜画像も再生成し、メディアメタデータを更新します。

まず、プラグインをインストールして有効化する必要があります。WordPressプラグインのインストール方法については、こちらをご覧ください。

アクティベーションが完了したら、メディア “ パーフェクト・イメージにアクセスしてください。

Perfect ImagesはWordPressのメディアライブラリをスキャンします。

How to regenerate the WordPress thumbnails

完了したら、デフォルトで「Bulk Actions」と表示されているドロップダウンメニューを開き、「Regenerate All Entries」を選択します。

Perfect Imagesはすべてのサムネイルを再生成します。

Regenerating the featured images in WordPress

このトピックの詳細については、新しい画像サイズを再生成する方法の記事をご覧ください。

投稿コンテンツの追加画像サイズの有効化

新しい画像サイズを追加しても、WordPressテーマ内でしか使用できず、投稿コンテンツでは使用できません。

WordPressのコンテンツエディターでこれらの新規サイズを利用できるようにするには、以下のコードをWPCodeに登録する必要があります:

function wpb_custom_image_sizes( $size_names ) {
    $new_sizes = array(
        'homepage-thumb' => 'Homepage Thumbmail',
        'singlepost-thumb' => 'Infographic Single Post'
    );
    return array_merge( $size_names, $new_sizes );
}
add_filter( 'image_size_names_choose', 'wpb_custom_image_sizes' );

私たちが共有したカスタムスニペットコードを追加するには、同じプロセスを繰り返すだけです。コードを追加したら、スニペットを有効にして保存するのを忘れないでください。

WordPressに画像をアップロードすると、「Image size」の下にすべてのカスタムサイズが表示されるようになりました。これで、どのページや投稿でも、作業中に画像サイズを変更できるようになりました。

Choose your custom image size inside post editor

ボーナスのヒントWordPressの画像アップロードの問題を解決する

画像のアップロードに問題がある場合、その原因を知りたいと思うかもしれません。WordPressでは、いくつかの異なる理由で発生する可能性があります。

まず、ブラウザによってアップロードの処理方法が異なるため、あるブラウザではうまくいっても、別のブラウザではうまくいかないことがあります。また、サイトのキャッシュがトラブルを引き起こしている可能性もあります。キャッシュが古い場合、アップロードに支障をきたすことがあります。

Clearing WPRocket cache

プラグインやテーマが問題になることもある。ある種のプラグインは、知らないうちにアップロードプロセスを混乱させることがあります。テーマによっては、うまくコーディングされておらず、画像をアップロードしようとしたときにコンフリクトを引き起こすことがあります。

トラブルシューティングのヒントについては、WordPressの画像アップロードの問題を解決する方法をご覧ください。

WordPressで画像サイズを追加する方法について、この記事がお役に立てれば幸いです。また、画像管理に最適なWordPressプラグインや大きな画像を一括でリサイズする方法についてもご紹介しています。

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

究極のWordPressツールキット

ツールキットへの無料アクセス - すべてのプロフェッショナルが持つべきWordPress関連製品とリソースのコレクション!

Reader Interactions

43件のコメント返信を残す

  1. Jiří Vaněk

    Thanks for the tutorial, I’m trying to do the same thing using another tutorial but it didn’t work. This works perfectly.

  2. axel

    That was easy, thanx.

    Something harder:
    How do i get rid of old, unused thumbnail sizes? ;-)
    (best without a plugin)

    Kind regards
    axel

  3. B Toro

    Very simple and helpfull

    • WPBeginner Support

      Glad our guide was helpful :)

      管理者

  4. JKLYN

    Quite helpful tutorial. But how to set class for image??

  5. Kim

    Thanks WPBeginner, this worked a treat!

  6. Thiago

    Hi,

    Great article! However, I still do not understand the usefulness of hard crop tool; I uploaded an image with 306×165, and after that I created two custom sizes: 256×148 (Soft Crop) and 256×148 (Hard Crop), however, as you can see in this print taken from the post: [http://prnt.sc/eromp3] both Options remain the same. I created a file in Photoshop containing 256×148 and I dragged the original image without resizing anything, and the result you can see in example 4 of the image above. So, my question is this: should image 2 not look like the image generated by Photoshop?

    Follows below the code used on functions.php:

    //Soft Crop used in example 2
    if ( function_exists( ‘add_image_size’ ) ) {
    add_image_size( ‘new-size8’, 256, 148 );
    }
    add_filter(‘image_size_names_choose’, ‘my_image_sizes8’);
    function my_image_sizes8($sizes) {
    $addsizes = array(
    “new-size8” => __( “New Size8”)
    );
    $newsizes = array_merge($sizes, $addsizes);
    return $newsizes;
    }

    ////Hard Crop used in example 3
    if ( function_exists( ‘add_image_size’ ) ) {
    add_image_size( ‘new-size9’, 256, 148, true, array( ‘center’, ‘center’ ) ); //(cropped)
    }
    add_filter(‘image_size_names_choose’, ‘my_image_sizes9’);
    function my_image_sizes9($sizes) {
    $addsizes = array(
    “new-size9” => __( “New Size9”)
    );
    $newsizes = array_merge($sizes, $addsizes);
    return $newsizes;
    }

    Thanks in advance!

  7. Kevin

    This works great, but on thing that always bothers me is that if someone uploads an image that is smaller than one of your cropped sized then that image will not be created, which ruins the layout if you wanted equal height images

    • Matt Rock

      Struggling with the same issue, Kevin (uploading smaller image does not create cropped size). I understand why this might make sense (system will not produce unnecessary images), but a low/poor resolution would look better than an ill-cropped one…

  8. gonza

    Thanks for the info
    you help me so much!

  9. Sakshi

    I write this code can.
    Actually i want to set the post thumbnail size for the banner image.Which i was uploading through featured image in the background please suggest me.

  10. Aakash

    Hi,
    I m new in wordpress,and accept i have many problems,and the first is,i created lot of post in wordpress,suppose A B C D,and when i update this in my website they look like first is D and then c and then b and then a means when i upload first they are show in last.if any solution that first they look in series not DCBA like ABCD…plz help

  11. Lavinia Manzanarez

    Excellent! I read the use of this function on the Codex of Wordpress but sometimes I need a step by step thing, thank you!

    • Farmer John

      I too want to do the same as Ali Rohan wants to do. can you kindly elaborate pleas.. ‘coz i tried to implement the method explained by you but could not succeed. I can’t understand where I am doing wrong. How do I link the text of resolution to image file?

  12. Ali Rohan

    Thanks for nice article.
    I wanna start a wallpapers website in wordpress so is it possible that when i upload one big wallpaper then it auto resized to many resolutions for users. For example when i upload 1920×1280 wallpaper then it must be resized to 1024×768, 800×600 etc resolution … so users can easily view and download desired size wallpaper ?

  13. Aayush

    Hi Dear. i need your urgent help. i have a problem with the images size. actually i am using a plugin WP Gallery Custom Links. i have uploaded lot of images in a post but every images has a different height and width so they are appearing with different different sizes. i want to set them with the same size which i want to set. please tell me any idea to solve this problem.

  14. Here

    I just needed to say thanks for saying this. You’re right on.|

  15. Shoaib

    Excellent explanation

  16. Andrew

    I’ve set this up and it’s working splendidly minus the suggestion MIKE LITTLE made above – the thumbnail is changed and it shows up that way in the backend in the media gallery – but on the frontend where my loop is – the image thumb is still what WP defaults to – i’ve even run REGEN THUMBS and it still doesn’t fix the issue – anyone else having this problem or know the fix???

    • WPBeginner Support

      Look at your loop and use <?php the_post_thumbnail('your-specified-image-size'); ?> instead of the_post_thumbnail()

      管理者

    • Marc C

      Good tutorial – many thanks WPBEGINNER.

      I too was having the problem of not being able to crop the new registered image sizes but the plugin posted by TOMASZ does the job nicely – thanks TOMASZ!

  17. Robbe Clerckx

    Still helpfull after all this time :). Thank you.

  18. Danny

    Thank you for this very clear and helpful tutorial. It saved me a lot of time since the WP documentation is very cryptic.

  19. lydia karanja

    I have a wordpress account but I did not know how to manage it but now I know all thanks to this tutorial, thank you very much for helping people understand more on how to create and manage their websites.

  20. andy19at

    @jezThomp Great if your images work ;)

  21. mikelittle

    You say: “The downside of hard cropping is that you cannot control which part of the image is displayed.” Not true.

    When you have uploaded an image and before you insert into post, you can click on ‘edit image’ and from there change the thumbnail or the whole image, scale, rotate, or flip the image , and for the thumbnail select the exact portion of the image you want.

    • wpbeginner

      @mikelittle Thanks for the correction Mike. Just edited the article :)

      • clelandillustration

        I can’s seem to get the custom crop to work for new image sizes. The custom crop will work for the default “thumbnail” size version, but that crop won’t apply to new image sizes. It seems the crop is still uncontrollable for custom image sizes.

    • Brent Norris

      good insight into the edit flow…

  22. TdGon

    Good article ..and photos to go along with it too…nice. I saw in a few places how to do this but they did not explain it as well as you do here. I am off to try it out.

    Thanks a lot ! (0.o)

  23. PaulDeWoutersd'Oplinter

    excellent explanation for a confusing topic. and very useful plugin

  24. mssbee

    Great tutorial! Thanks for explaining the different crop options. It really helped me to understand how they work.

  25. tjhakan

    Nice tutorial. good job

  26. defries

    Nice round up of what can be done with just the default featured image feature. One extra tip: you can also set the width of your content area as a featured image and define that same width in Settings > Media. This way you can select a featured image to use in your theme and it will be automatically the maximum size of the content area.

    Also great having those values in there for <a href=”http://codex.wordpress.org/Embeds”>oEmbed</a>.

  27. Ordinary Randomness

    Thanks for this tutorial, I was wondering why sometimes I had images that were not cropping to the size I had coded.

返信を残す

コメントありがとうございます。すべてのコメントは私たちのコメントポリシーに従ってモデレートされ、あなたのメールアドレスが公開されることはありませんのでご留意ください。名前欄にキーワードを使用しないでください。個人的で有意義な会話をしましょう。