我目前正在使用以下代码获取wordpress帖子的特色图片的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
非常感谢您的时间和帮助。
最合适的回答,由SO网友:SLH 整理而成
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
可以找到更多信息
here.
SO网友:Vinobe
For those who are coming here post October 2019
WordPress从5.3版开始引入了“大图像阈值”(
Link)
简而言之,所有2560px以上的图像在上传时都会缩小尺寸。调用图像格式“full”将不再总是返回原始的未接触图像,但可能会返回2560px版本,并在url和路径中使用“-scaled”。
您仍然可以通过以下功能获取原始上载图像的url和路径:wp_get_original_image_path()
或wp_get_original_image_url()
.尽管文档中建议了新的尺寸"original_image"
已添加,wp\\u get\\u attachment\\u image、wp\\u get\\u attachment\\u image\\u src或类似函数仍返回缩小版本。据我所知,没有办法得到原始文件的尺寸等。