2013-02-10 164 views
0

我有一個腳本,當運行獨立作爲一個PHP工作正常。這是一個rss feed的簡單輸出,但rss是由dircaster在飛行中生成的。然而,當我把它變成wordpress插件時,它每次都無法工作。WordPress的不拉Dircaster腳本按需

這是經常給出的錯誤。有時按刷新會使其工作。

Warning: array_slice() expects parameter 1 to be array, null given in /home/evilmer/public_html/frome.me/ffm/wp-content/plugins/fromefm-player/fromefm-player-plugin.php on line 50 

Warning: Invalid argument supplied for foreach() in /home/evilmer/public_html/frome.me/ffm/wp-content/plugins/fromefm-player/fromefm-player-plugin.php on line 53 

這是根據[ffmplayer show=xxx showno=xx]生成的代碼。我沒有包含整個短代碼,因爲我認爲它不是必需的。

include_once(ABSPATH . WPINC . '/rss.php');   

$num_items = $showno; 
$feedurl = 'http://fromefm.co.uk/archive/dircasterX.php?show='.$show; 
$feed = fetch_rss($feedurl); 
$items = array_slice ($feed->items, 0, $num_items); 
$list = ""; 

foreach ($items as $item) 
{ 
$title = $item[title]; 
$mp3link = $item[link]; 
$description = $item[description]; 
$list .= "$title - $description</br><audio src='$mp3link' preload='none'> </audio>";} 
    return " 

<script> 
    audiojs.events.ready(function() { 
var as = audiojs.createAll(); 
    }); 
</script> 

$list 

"; 

線50:

$items = array_slice ($feed->items, 0, $num_items); 

和線路53

foreach ($items as $item) 

我相信,它只是運行不正常的DircasterX.php(dircaster.org)腳本或每一次,但它似乎工作正常,當我獨立使用它,並調用它與磁帶而不是內置於wordpress中的版本(rss.php)。

獨立版本目前在這裏http://www.fromefm.co.uk/popupplayer/five.php?show=homelyremedies&showno=6取而代之的是使用wordpress shortcode,而不是使用$_get

有一個演示安裝插件的位置(請忽略fromfmplayer.js的JS錯誤,因爲它是不相關的)http://frome.me/ffm/?page_id=48

+0

如果我在錯誤之後刷新頁面,那麼它就可以工作。但我每次都需要它工作。 – 2013-02-10 18:49:07

回答

0

你得到了警告,告訴你,$feed爲空。可能因爲fetch_rss($feedurl)沒有成功。

+0

這就是我的想法,但爲什麼?我還沒有發現任何人與Dircaster有類似的問題.. – 2013-02-11 09:51:23

+0

'fetch_rss()'已被棄用btw。請嘗試使用['fetch_feed()'](http://codex.wordpress.org/Function_Reference/fetch_feed)。 – RRikesh 2013-02-11 09:54:45

+0

我需要將include_once(ABSPATH,WPINC,'/ rss.php');'改爲'include_once(ABSPATH,WPINC。'/feed.php');'以及? – 2013-02-11 10:03:05