有没有一种标准的方法来获取所有注册的特色图片尺寸?可以注册不同大小的add_image_size()
.我需要的是得到一个帖子的所有特征图片的大小。类似这样:
$大小=get\\u post\\u feature\\u image\\u大小($posted);
。。。它将返回如下对象数组(此处为JSON格式):
[
{width: 200, height: 300, url: \'http://.........../wp-content/uploads/2015/10/file-200x300.jpg\'},
{width: 300, height: 400, url: \'http://.........../wp-content/uploads/2015/10/file.jpg\'},
]
是否有类似的内容,或者我必须用regex扫描所有上传文件夹文件名?
SO网友:jave.web
在你得到它的ID(get_post_thumbnail_id($YOUR_POST_ID) ) 您需要知道上传的基本url和附件元数据。
Uploads base url 可以在返回的数组中找到wp_upload_dir().
Attachment meta data 可通过检索wp_get_attachment_metadata().
下面是我编写的一个方便的函数,它为any image attachment, not just featured.
function prepareImageData( $attachment_id ){
$uploads_baseurl = wp_upload_dir()[\'baseurl\'];
$prepared = [];
$data = wp_get_attachment_metadata($attachment_id);
$prepared = [
\'mime_type\' => get_post_mime_type($attachment_id),
\'url\' => $uploads_baseurl.\'/\'.$data[\'file\'],
\'sizes\' => [],
];
foreach( $data[\'sizes\'] as $size => $sizeInfo ){
$prepared[\'sizes\'][$size] = [
\'url\' => $uploads_baseurl.\'/\'.$sizeInfo[\'file\'],
];
}
return $prepared;
}