0

まず第一に:それは可能ですか?

<img>wordpress レイアウトをレスポンシブにするためにsrcset タグを返す関数を取得したいと思います。私のラッパーは幅が 1400 で、1400 @1 または 700 @2 より広い画面には適していますが、携帯電話では幅が広すぎて、@2 や @3 画面でも 720px 幅で十分なので、これは私にとって重要です (鋭くなる可能性がありますが、目はあまり気付かないためです)。

問題は、php の処理中に提供するサムネイル サイズがわからないことsrcsetです。そのためには、に何かを書かなければならないことを私は知っていfunctions.phpます。しかし、私は何をどのようにすべきですか?the_post_thumbnail()関数を変更する必要がありますか? それとも新しく作るべきですか?その場合、投稿のサムネイルの異なるサイズから異なる画像名を取得するにはどうすればよいですか?

4

2 に答える 2

1

filter を使用して、_post_thumbnail 関数を変更できます。

以下のフィルターを使用して、_post_thumbnail 関数によって生成された出力を変更します。

           add_filter( 'post_thumbnail_html', 'your_function', 10, 6 );
于 2015-10-13T10:20:14.180 に答える
0

wpwp_get_attachment_image_src()get_post_thumbnail_id()関数を使用して、<img>タグを自分で作成できます。

global $post;
$url1 = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail' );
$url2 = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium');
<img src="<?php echo $url1[0]; ?>" srcset="<?php echo $url2[0]; ?> 500w" alt="alt-text" />

「サムネイル」と「中」は画像サイズの名前です。たとえば、WordPress のデフォルトのサイズは、サムネイル、中、大、フルです。テーマでは、より多くのサイズを宣言できます。

ループ内にいる場合は、 de を宣言する必要はありませんglobal $post

于 2015-10-13T08:32:33.747 に答える