0

PHPとしてスタンドアロンで実行すると正常に動作するスクリプトがあります。これは単純な RSS フィードの出力ですが、RSS は 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) スクリプトを適切に、または毎回実行していないだけだと確信していますが、スタンドアロンで使用し、バージョン (rss.php) の代わりに magpierss で呼び出すと、問題なく動作するようです。ワードプレスに組み込まれています。

スタンドアロン バージョンは現在ここにあります http://www.fromefm.co.uk/popupplayer/five.php?show=homelyremedies&showno=6ワードプレス ショートコードを使用する代わりに、代わりに変数を取得します$_get

ここにプラグインのデモ インストールがあります (fromfmplayer.js の js エラーは無関係なので無視してください) http://frome.me/ffm/?page_id=48

4

1 に答える 1

0

あなたが得た警告は、それ$feedがnullであることを示しています。おそらく、fetch_rss($feedurl)その結果がうまくいかなかったからです。

于 2013-02-11T09:45:23.897 に答える