2014-03-28 73 views
2

我知道这已经发布之前,但没有答案为我工作。我错过了一些东西,并会感谢任何帮助。如何在非wordpress页面上显示WordPress RSS feed?

我将WordPress安装在一个名为“news”的文件夹中,它正在工作。我想在不同的页面上通过RSS显示最近的博客帖子(该页面不是由WordPress生成的)。

我收到以下错误:

Fatal error: Call to a member function getElementsByTagName() on a non-object

这里是我使用的代码:

$xml=("http://www.williamsargent.info/avadasoftware/news?feed=rss2"); 

$xmlDoc = new DOMDocument(); 

$xmlDoc->load($xml); 

$channel=$xmlDoc->getElementsByTagName('channel')->item(0); 

$channel_title = $channel->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue; 
+0

好的。我现在明白了为什么会出现错误,但我无法确定遍历xml结构的语法。任何在这方面的指导,不胜感激。 – user3473050

+0

这可能会帮助你http://bavotasan.com/2010/display-rss-feed-with-php/ –

+0

'我有麻烦,未能确定语法',请用新信息更新问题。 – brasofilo

回答

1

您可以使用下面,这是更具可读性;

$feed = new DOMDocument(); 
$feed->load('http://www.williamsargent.info/avadasoftware/news?feed=rss2'); 


$items = array(); 
foreach ($feed->getElementsByTagName('item') as $item) { 
     array_push($items, array ( 
      'title' => $item->getElementsByTagName('title')->item(0)->nodeValue, 
      'desc' => $item->getElementsByTagName('description')->item(0)->nodeValue, 
      'link' => $item->getElementsByTagName('link')->item(0)->nodeValue, 
      'date' => $item->getElementsByTagName('pubDate')->item(0)->nodeValue, 
     )); 
} 
相关问题