Php 获取附件URL
我正试图从WordPress获取上传的音频文件,但遇到一些问题。我需要抓取不包括域名的补丁,比如Php 获取附件URL,php,wordpress,Php,Wordpress,我正试图从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)
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
以及其他方法,但没有成功
任何帮助都将不胜感激 如果查看函数的文档,您会发现它返回一个对象数组 数组按附件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";
}
您是否尝试过类似于
$a[0]->guid
其中0是数组元素的索引?如果$a
是您转储的对象,那么$a->guid
应该可以工作。我猜你错过了什么。此外,guid字段并非在所有情况下都是可靠的。我会改为使用get\u permalink
,然后提取路径的所需部分由于某种原因,我无法访问$a
变量中的任何内容。我可以var\u dump($a)
作为一个整体。任何其他结果都将为null。@JuanRangel我已经更新了答案,以显示这在foreach循环之外是如何工作的