我正试图从WordPress获取上传的音频文件,但有一些问题。我需要获取不包括域名的补丁,例如wp-content/uploads/2014/09/file.mp3
。
我尝试使用get_attached_media()
,当我var_dump()
将其存储在密钥为guid
的数组中时,我可以确切地看到我需要什么。我尝试了几种不同的方法,但我无法访问它。这就是结果。
object(WP_Post)#2059 (24) {
["ID"]=>
int(4312)
["post_author"]=>
string(1) "3"
["post_date"]=>
string(19) "2014-10-06 15:33:16"
["post_parent"]=>
int(4298)
["guid"]=>
string(73) "/wp-content/uploads/2014/09/file.mp3"
}
}
我删除了大部分代码以保持简洁。如何访问guid
密钥?我将结果存储在$a
中并尝试了$a->guid
$a['guid']
和$a->post->guid
以及其他人,但没有运气。
非常感谢任何帮助。
答案 0 :(得分:4)
如果查看get_attached_media函数的文档,您将看到它返回WP_Post个对象的数组。
数组按附件ID编制索引,因此您只需执行$a[0]
即可访问第一个元素。我建议您在使用之前重新索引数组,如下所示:
$a = get_attached_media(...);
$a = array_values($a);
echo 'GUID: ' . $a[0]->guid;
您还可以迭代所有附件,例如
foreach ($a as $attachment) {
echo "GUID: {$attachment->guid}\n";
}