web-dev-qa-db-ja.com

The_post_thumbnailでのみ画像のURLを取得する方法

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()をフィルタリングする方法

お知らせ下さい

33
haha

あなたも試してみるかもしれません:

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];

リソース:

41
Ross

これがトリックです:

<?php wp_get_attachment_image_src('subgall-thumb'); ?>

呼び出しているサムネイルの名前が正しいことを確認してください。

2
Anna

WordPress 4.4以降、ここの答えよりもクリーンな方法でこれを処理できる効率的なコア機能があります。

投稿のサムネイルのURLを表示する the_post_thumbnail_url( $size ) を使用できます。

あるいは、URLをすぐに出力せずに返したい場合は、 $url = get_the_post_thumbnail_url( $size ) を使用できます。

1
cameronjonesweb

以下のコードを使用してください

<?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 ); ?>
0
Jit Gurav

simplexml_load_string を使ってそれを得た

$dom = simplexml_load_string(get_the_post_thumbnail());
$src = $dom->attributes()->src;
    echo $src;

別の方法でも大丈夫です。

0
haha

手っ取り早い解決策のためには、あなたのテーマのfunctions.phpファイルでこれをたたいてください。

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 "" "これらの定義済み画像サイズのどれでも: ポストサムネイル、ポストメディア、ポストフル

0
Taylor Hunt