set_post_thumbnail_sizeとadd_image_size


11

set_post_thumbnail_sizeとadd_image_sizeの違いは何ですか?すべての画像にset_post_thumbnail_sizeを使用し、画像のサイズを個別に変更するにはadd_image_sizeを使用しますか?

ありがとう。

回答:


26

画像がWordPressにアップロードされると、元のサイズで保存されます。また、異なるサイズのサイズ変更されたコピーとして保存されます。このようにして、同じ画像のさまざまなサイズをさまざまな目的で簡単に使用できます。

デフォルトでは、WordPressは3つの異なるサイズで3つのコピーを作成します。

  • 'thumb'
  • 'medium'
  • 'large'

これら3つのサイズのピクセル単位のサイズは、WordPressダッシュボードのメニューで設定できますSettings -> Media

ここで、この関数add_image_sizeを使用して新しいサイズを登録し、3つのデフォルトに追加します。

登録されたすべてのサイズは、例えば、いくつかのWordPressの機能では、その名前を使用して取得することができwp_get_attachment_image_srcwp_get_attachment_imagewp_get_attachment_link

これらのすべての関数$sizeは、登録されたサイズの1つ(3つの標準の1つ、またはで登録されたカスタムサイズの1つ)の名前であるパラメーターを受け入れますadd_image_size

場合'full'として使用されている$size引数、元の画像が返され、1のサイズは変更されません。

上記の関数に加えて、画像サイズを利用する他の2つの関数がget_the_post_thumbnailありthe_post_thumbnailます。

これらの2つの関数は、投稿の「注目の画像」として設定されている画像を取得(最初の)し、エコー(2番目)します。

これらの関数によって返される(またはエコーされる)ものはimg、次のような完全なhtmlタグです。

<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />

それで、使用されているサイズはどれですか?

a $sizeが2番目の引数として渡される場合(1番目は$postid)、これらの関数はそのサイズのイメージを返します。それ以外の場合、これらの関数は、名前で登録された画像サイズを検索しますpost-thumbnail

これは3つのデフォルトサイズの1つではなく、実際には4番目の標準サイズ(5番目が考慮fullされます)であり、を呼び出して登録できますset_post_thumbnail_size

そう

set_post_thumbnail_size( $width, $height, $crop );

のショートカットです

add_image_size( 'post-thumbnail', $width, $height, $crop );

呼び出していない場合set_post_thumbnail_size(つまり、サイズ'post-thumbnail'が作成されていない場合)、WordPressはサイズを使用しますthumb。このサイズが使用できない場合でも、WordPressは元の画像(サイズ変更されていない画像)を使用します。

カスタム画像のサイズを登録すると、テーマをデザインするときに非常に役立ちますが、悪用しないことが重要です。アップロードされたすべての画像は、登録されたすべてのサイズに合わせてコピーおよびサイズ変更されるため、多数のサイズを登録すると、画像のアップロードプロセスが大幅に遅くなります。

注意:

WordPressが画像の拡大縮小されたコピーを作成するとき、拡大することはなく、小さいコピーのみを作成することに注意してください。たとえば、元の画像が400x500pxで、「中」の画像サイズが800x600pxの場合、中サイズ以上は作成されません

したがって、画像サイズを登録しても、登録されたすべてのサイズの画像ファイルが実際にWordPressコンテンツフォルダー存在するというセキュリティは得られません。登録した画像のサイズは簡単に変更できるため:設定の変更、テーマの切り替えなど

何らかの理由で画像サイズが変更されると、その変更はその変更後にアップロードされた画像に影響を与えます。以前にアップロードされた画像はサイズが変更されず、再スケーリングおよび再保存されません。

一部の画像が既にアップロードされた後(たとえば、テーマを変更した後)に特定の画像サイズに依存する必要がある場合、プラグインのサムネイルの再生成は命の恩人になります。


2
驚くばかり。私はあなたの答えのために5回クリックしたでしょうが、サイトはそれを許可しません。よろしく。
Greeso 2013

どういたしまして、もう大丈夫です:)
gmazzap

もう1つの質問:set_post_thumbnail_sizeを呼び出していない場合(つまり、「post-thumbnail」のサイズが作成されていない場合、the_post_thumbnailを呼び出します。どうなるでしょうか?(the_post_thumbnailがpost-thumbnailをPARAM)。
Greeso

@GM、明快な説明に
賛成

この答えはとても役に立ちます!しかし、私はこれを考えます: set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized. ...は間違っています。これをテストした私の経験でset_post_thumbnail_size()は、呼び出されていない場合、WPはフルサイズのイメージにフォールバックします。
Travis Northcutt 2015年

1

コーデックスから:

set_post_thumbnail_size

デフォルトの注目画像(旧投稿サムネイル)のサイズを設定します。注目画像に追加の画像サイズを登録するには、add_image_size()を使用します。

add_image_size

新しい画像サイズを登録します。つまり、新しい画像をアップロードすると、WordPressは指定されたサイズの注目画像(以前の投稿のサムネイル)のコピーを作成します。


set_post_thumbnail_sizeを使用せずにadd_image_sizeを使用できますか?
Greeso 2013

はい、もちろん。
KrzysiekDróżdż
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.