2014-03-28 105 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, 
     )); 
} 
相關問題