使用GET_ATTACHED_MEDIA从数组中获取特定值

时间:2013-08-19 作者:gburning

我正试图编写一段代码,获取当前帖子中任何嵌入式音频文件的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。

另外,请更正我的术语,以便我能使这个问题对可能寻求答案的其他人更有用。

1 个回复
最合适的回答,由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));
}

结束

相关推荐

Meta value Array

我希望有人能帮助我。我创建了一个自定义元框并尝试存储一个数组,但在使用update_post_meta, 它似乎没有将其存储为数组。我通过api获取信息,从文本区域到update_post_meta.我试过了serialize, unserialize, maybe_serialize, maybe_unserialize 等等,这是我的代码。$movieCast(array) array ( 0 => array ( \'actor\