the_post_thumbnailレスポンシブsrcsetがカスタム画像サイズで生成されない


8

Wordpress 4.4 の新しいレスポンシブ画像機能を使用しようとしていますが、カスタム画像サイズでthe_post_thumbnailを使用しようとすると、特定の問題が発生し続けます。カスタムの画像サイズを使用できないようです。

次のコードは現在のimgタグを生成しますsrcset

<?php the_post_thumbnail('medium',  array( 'class' => 'img-responsive' )); ?>

以下は、関数に渡されたサイズでのimgタグの外観mediumです。

<img width="300" height="225" src="path/to/image-300x225.jpg" class="img-responsive wp-post-image" alt="Image" srcset="path/to/image-300x225.jpg 300w, path/to/image-768x576.jpg 768w, path/to/image.jpg 1024w" sizes="(max-width: 300px) 100vw, 300px">

ただし、カスタムイメージサイズを使用するように1つの変更を加えると、がsrcset消えます。ここで何が起こっているのか誰か知っていますか?

カスタムイメージサイズを追加する方法は次のとおりです。

add_image_size ('my-custom-size', 1050, 626, true );

これがコードでどのように見えるかです:

<?php the_post_thumbnail('my-custom-size',  array( 'class' => 'img-responsive' )); ?>

そして、これが出力するものであり、my-custom-size読み取られておらず、wp-post-image代わりに追加されていることに注意してくださいmy-custom-size

<img width="1024" height="626" src="path/to/image-1024x626.jpg" class="img-responsive wp-post-image" alt="Image">

私が間違っていることを理解するのを助けてください!


1
設定してadd_image_size ('my-custom-size', 1050, 0, false );ください。説明については、この回答済みのwordpress.stackexchange.com/a/211405/18731
Jevuska

新しくアップロードした画像でテストしましたか?新しい画像サイズは、画像がアップロードされたときにのみ適用されます。サムネイルの再生成などのプラグインを使用して、既存の画像の画像セットを再生成できます。
アンディマコーレーブルック

1
@Jevuskaは、質問者が望んでいるサイズに画像をハードトリミングしません。
アンディマコーレーブルック

1
私の答えはまったく役に立ちましたか?この質問はまだ最新ですか?
アンディマコーレーブルック

回答:


4

この答えが確実であることを確認するのに十分な情報はありませんが、ここに試みがあります。

まず、アップロードする画像が実際に定義したサイズよりも大きいことを確認してください。人々が小さすぎる画像をアップロードすると、常にこのような結果が得られます。

次に、WPは同じアスペクト比の画像サイズのSrcsetリストのみを作成します。カスタムサイズのアスペクト比が他の画像サイズと異なる場合は、アスペクト比が一致する新しいサイズの選択を作成できます。

3番目に、新しい画像サイズを変更または追加した後は、常に既存のサムネイルを再生成する必要があります。このためのサムネイルの再生成と呼ばれる素晴らしいプラグインがあります。


1
それが役に立ったなら、自由に投票してください:-)
Andy Macaulay-Brook
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.