the_post_thumbnail()
の画像のURLを取得する方法を知りたい
デフォルトthe_post_thumbnail()
<img width="800" height="533" src="http://domain.com/wp-content/uploads/2011/02/book06.jpg" class="attachment-post-thumbnail wp-post-image" alt="book06" title="book06" />
ここで私はsrcだけをつかみたいです。 http://domain.com/wp-content/uploads/2011/02/book06.jpg
を取得するためだけにthe_post_thumbnail()
をフィルタリングする方法
お知らせ下さい
あなたも試してみるかもしれません:
1サイズのサムネイルしかない場合:
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ) );
または...複数のサイズがある場合
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "size" );
Wp_get_attachment_image_src()は、配列url、width、height、is_intermediateを返します。
画像のURLだけが欲しい場合は、
echo $thumbnail[0];
リソース:
これがトリックです:
<?php wp_get_attachment_image_src('subgall-thumb'); ?>
呼び出しているサムネイルの名前が正しいことを確認してください。
WordPress 4.4以降、ここの答えよりもクリーンな方法でこれを処理できる効率的なコア機能があります。
投稿のサムネイルのURLを表示する the_post_thumbnail_url( $size )
を使用できます。
あるいは、URLをすぐに出力せずに返したい場合は、 $url = get_the_post_thumbnail_url( $size )
を使用できます。
以下のコードを使用してください
<?php get_the_post_thumbnail_url(); ?>
目標を達成するのに十分ではない場合は、以下のコードを試してください
<?php $postimages = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), 'large' );
// Check for images if ( $postimages ) {
// Get featured image $postimage = $postimages[0];
} else {} while (have_posts() && $i < 8) : the_post(); echo esc_url( $postimage ); ?>
simplexml_load_string
を使ってそれを得た
$dom = simplexml_load_string(get_the_post_thumbnail());
$src = $dom->attributes()->src;
echo $src;
別の方法でも大丈夫です。
FUNCTION GET_STRING_BETWEEN($STRING, $START, $END){
$STRING = " ".$STRING;
$INI = STRPOS($STRING, $START);
IF ($INI == 0) RETURN "";
$INI += STRLEN($START);
$LEN = STRPOS($STRING, $END, $INI) - $INI;
RETURN SUBSTR($STRING, $INI, $LEN);
}
これは http://foo.com/wp-content/uploads/2019/02/toy-story-two-was-ok.jpg のようなものを返します。
$THE_FEATURED_IMAGE = GET_STRING_BETWEEN(get_the_post_thumbnail(NULL,'post-large'), 'src="', '" class="');
* 「ループの中」= while(have_posts())のようなものを探します。
**あなたもサブアウトすることができます」ポストラージmsgstr "" "これらの定義済み画像サイズのどれでも: ポストサムネイル、ポストメディア、ポストフル