the_post_thumbnailでのみ画像のURLを取得するにはどうすればよいですか
-
-
[画像タグではなくサムネイルパスを取得する](http://wordpress.stackexchange.com/questions/4745/getting-thumbnail-path-rather-than-image-tag)の重複の可能性possible duplicate of [Getting Thumbnail Path rather than Image Tag](http://wordpress.stackexchange.com/questions/4745/getting-thumbnail-path-rather-than-image-tag)
- 0
- 2011-02-12
- Jan Fabry
-
6 回答
- 投票
-
- 2011-02-12
次のことも試してみてください:
サイズのサムネイルが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];
リソース:
You might also try:
If you only have one size thumbnail:
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ) );
Or...if you have multiple sizes:
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "size" );
Note that wp_get_attachment_image_src() returns an array: url, width, height, is_intermediate.
So if you just want only the image url:
echo $thumbnail[0];
Resources:
-
ちょっとしたヒント:サイズ付きのwp_get_attachment_image_src()関数を使用していて、正確なサムネイルサイズを取得したい場合は、定義で指定されたサムネイル名を使用します(関数add_image_size()).寸法のある配列を使用する場合、WPは適切な幅または高さの最初の画像サイズを使用します.そのため、間違った画像が表示される可能性があります.例:156x98と120x98の2つの画像を定義している場合、156x98の代わりに120x98を取得する可能性があります(高さは同じです).私は一度それに落ちました;)A little hint: if you are using wp_get_attachment_image_src() function with size and want to get exact thumbnail size: use thumbnail name given in definition (function add_image_size()). If you use array with dimensions WP will use first image size that have proper width or height. So you may get wrong image. Example: instead of 156x98 you might have got 120x98 if you have 2 images defined: 156x98 & 120x98 (height is the same). I fell for it once ;)
- 0
- 2011-10-16
- Marek Tuchalski
-
-
これが2012年以降に変更されたかどうかはわかりませんが、2017年には、 `wp_get_attachment_image_src`の最初のパラメータはサイズではなく添付ファイルID番号である必要があります.I don't know if this has changed since 2012, but in 2017 the first parameter of `wp_get_attachment_image_src` must be the attachement id number, not the size.
- 1
- 2017-05-11
- squarecandy
-
-
- 2017-09-15
WordPress 4.4以降、ここでの回答よりもクリーンな方法でこれを処理できる効率的なコア機能があります.
the_post_thumbnail_url($ size)
を使用できます.投稿のサムネイルのURLを印刷します.または、URLをすぐに出力するのではなく返したい場合は、 <を使用できます.code> $ url=get_the_post_thumbnail_url($post_id、$ size)
Since WordPress 4.4, there's an efficient core function that can handle this in a cleaner way than the answers here.
You can use
the_post_thumbnail_url( $size )
which will print the URL of the post thumbnail.Alternatively if you want to return the URL instead of immediately output it, you can use
$url = get_the_post_thumbnail_url( $post_id, $size )
-
- 2011-02-12
$dom = simplexml_load_string(get_the_post_thumbnail()); $src = $dom->attributes()->src; echo $src;
別の方法を歓迎します.
Ok got it using
simplexml_load_string
$dom = simplexml_load_string(get_the_post_thumbnail()); $src = $dom->attributes()->src; echo $src;
Another method are welcome.
-
- 2018-10-26
以下のコードを使用してください
<?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 ); ?>
Please Use the below code
<?php get_the_post_thumbnail_url(); ?>
If It's not enough to achieve your goal then try below code
<?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 ); ?>
-
- 2019-02-17
すばやく&amp;汚い解決策、あなたのテーマの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()):the_post();
のようなものを探します** 次の事前定義された画像サイズのいずれかを使用して「post-large 」をサブアウトすることもできます. サムネイル後、 ポストミディアム、 ポストフル
For a quick & dirty solution, slap this in the functions.php file of your theme
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); }
Used within the loop, this will give you what you're looking for
This will return something like 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="');
* "Within the loop" = look for something like while ( have_posts() ) : the_post();
**You can also sub out "post-large" with any of these predefined image sizes : post-thumbnail, post-medium, post-full
-
それは良くないね.コードにすべて大文字を使用するのはなぜですか?that's bad. why do you use all caps for your codes?
- 0
- 2020-06-03
- Raptor
the_post_thumbnail()
デフォルトの
the_post_thumbnail()
ここでは、srcのみを取得します.
のみを取得するにはどうすればよいですか.the_post_thumbnail()
をフィルタリングしてhttp://domain.com/wp-content/uploads/2011/02/book06.jpg
教えてください