获取原始上传图像的URL的功能-全尺寸


11

我目前正在使用以下代码来获取wordpress帖子的精选图片的网址:

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,该URL为:

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

非常感谢您的时间和帮助。

Answers:


27

WordPress核心内置了四个有效大小。

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

@theshorttree看到我更新的答案。
SLH 2014年

完全有效,非常感谢您的宝贵时间和答复!
theshorttree

1

晚了一点

get_the_post_thumbnail_url(null,'full'); 完全可以完成工作,可以用缩略图,中号,中号大号或大号替换满。


1

对于2019年10月后到这里来的人

WordPress从5.3版开始引入了“大图像阈值”(Link

简而言之,所有2560px以上的图片在上传时都会缩小。将图片格式称为“完整”将不再总是返回原始的原始图片,而是可能返回该2560px版本,并且在网址和路径中使用“缩放”。

您仍然可以使用以下功能获取原始上传图像的网址和路径: wp_get_original_image_path()wp_get_original_image_url()。尽管文档建议"original_image"添加新的大小,但wp_get_attachment_image,wp_get_attachment_image_src或类似函数仍返回缩小的版本。据我所知,没有办法获得原始文件的尺寸等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.