我正在使用Wordpress XML默认导出并尝试将后RSS与图像RSS合并。我首先获取所有图像和相关的帖子ID,然后将它们放入一个数组中。然后我浏览每篇博文,并使用帖子ID从数组中获取图像。
首先,我抓取每个XML项并将它们添加到数组中。我使用后来获取的帖子ID作为数组键来访问。
foreach($xml_image->channel->item as $featured) {
// add image attachment url to $image array with post_id as key
$url = $featured->guid->__toString();
$post_id = intval($featured->children($ns['wp'])->post_id->__toString());
$image[$post_id] = $url;
//var_dump($url);
//var_dump($post_id);
}
输出为
Array ( [62] => http://image.url.com )
冷却。然后,当我尝试使用变量访问它,甚至硬编码密钥/数字时,它不起作用
$image_url = $image[62];
Outputs: Notice: Undefined offset: 62 in /home/filename.php on line whatever
我已尝试将此数组转换为对象并以这种方式访问密钥($imageobj = (object) $image); $imageobj->{62};
),但这也无效。我尝试过使用(int)
和intval()
但他们没有用过。甚至是trim()和(string)。我终于确定了__toString()
,尽管它也不起作用。
我不确定SimpleXmlElement
函数对要生成62 != 62
的整数的作用是什么,或者我如何开始以必要的格式复制62来访问它。
我甚至尝试过array_search和array_filter,在数组中使用post id和element(id=>$post_id
)而不是密钥本身 - nada。
非常感谢任何指导。此代码基于https://github.com/greywillfade/wpxml-to-kirby,只需在顶部添加上述foreach循环函数(使用单独的文件加载和所有爵士乐)。