我正试图编写一段代码,获取当前帖子中任何嵌入式音频文件的url/下载链接。在这样做的过程中,我偶然发现get\\u attached\\u media输出了类似的内容(为了保持简短,我删除了一些值):
Array (
[172] => WP_Post Object (
[ID] => 172
[post_author] => 1
[guid] => http://localhost/wp-content/uploads/2013/07/03-take_me_out_128_lame_cbr_ex.mp3
[menu_order] => 0
[post_type] => attachment
[post_mime_type] => audio/mpeg
)
)
正如您所知,它都包装在这个“WP\\u Post对象”中。现在,我确信这是一个很常见的地方,而且很容易解决,但我不知道如何解决。本质上,我想做的是获取“GUID”值并将其附加到变量,因为它似乎包含帖子嵌入音频文件的URL。
另外,请更正我的术语,以便我能使这个问题对可能寻求答案的其他人更有用。
最合适的回答,由SO网友:s_ha_dum 整理而成
不要使用GUID
. 尽管外表如此,that isn\'t an URL. 使用wp_get_attachment_image_src
. 类似于:
$image = wp_get_attachment_image_src($post_id,\'full\');
echo $image[0];
或使用
wp_get_attachment_url
使用post ID。
$image = wp_get_attachment_url($post_id);
当然,我不知道保存图像的实际变量名是什么,但您应该在post对象中看到ID,并且应该能够解决这个问题。但是,例如。。。
$media = get_attached_media(null,1);
foreach($media as $m) {
var_dump(wp_get_attachment_url($m->ID));
}