アップロードされた元の画像のURLを取得する関数-フルサイズ


11

私は現在、次のコードを使用して、ワードプレスの投稿の注目画像のURLを取得しています。

URL="<?php if (function_exists('wp_get_attachment_thumb_url')) {echo wp_get_attachment_thumb_url(get_post_thumbnail_id($post->ID), 'big-size'); }?>"

ただし、コードは小さい(150x150px)サムネイルのみを返します。これは私が得るものです:

http://sitename.com/wp-content/uploads/imagename-150x150.png

私の質問は、次のような元の画像(フルサイズの画像)のURLを返すにはどうすればよいですか。

http://sitename.com/wp-content/uploads/imagename.png

あなたの時間と助けに感謝します。

回答:


27

WordPressコアには4つの有効なサイズが組み込まれています。

the_post_thumbnail('thumbnail');    // Thumbnail (default 150px x 150px max)
the_post_thumbnail('medium');       // Medium resolution (default 300px x 300px max)
the_post_thumbnail('medium_large'); // Medium Large resolution (default 768px x 0(means automatic height by ratio) max) since WP version 4.4
the_post_thumbnail('large');        // Large resolution (default 640px x 640px max)
the_post_thumbnail('full');         // Original image resolution (unmodified)

最後はあなたが探しているものです。

以下はURLを返します。

<?php
  $src = wp_get_attachment_image_src( $attachment_id, $size, $icon );
  echo $src[0];

コード全体は次のようになります。

<?php
  $src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full', false );
  echo $src[0]; // the url of featured image

詳細については、こちらをご覧ください


ご回答有難うございます。画像そのものではなく、画像の「URL」を返す関数を実際に探しています。したがって、the_post_thumbnailがそのために機能するかどうかは疑問です。それとも私は間違っていますか?
theshorttree 2014年

@theshorttreeは私の更新された回答を参照してください。
SLH 2014年

それは完全にうまくいきました、あなたの時間と返信に感謝します!
theshorttree 2014年

1

パーティーに少し遅れて、

だが

get_the_post_thumbnail_url(null,'full'); 完全にサムネイル、中、中、大または大に置き換えることができる仕事を正確に行います。


1

2019年10月投稿の方

WordPressは、バージョン5.3(リンク)から「Big Image Threshold」を導入しています。

つまり、2560pxを超えるすべての画像は、アップロード時に縮小されます。画像フォーマットを「フル」と呼ぶと、元の変更されていない画像が常に返されるとは限りませんが、その2560pxバージョンが返され、URLとパスに「-scaled」が含まれる場合があります。

次の関数を使用して、最初にアップロードされた画像のURLとパスを引き続き取得できます: wp_get_original_image_path()またはwp_get_original_image_url()。ドキュメントは新しいサイズ"original_image"が追加されたことを示唆していますが、wp_get_attachment_image、wp_get_attachment_image_src、または同様の関数は、縮小されたバージョンを返します。だから私が元のファイルの寸法などを取得する方法を伝えることができない限り。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.