我有一个脚本,当作为 php 独立运行时,它可以正常工作。它是 rss 提要的简单输出,但 rss 是由 dircaster 动态生成的。然而,当我把它变成一个 wordpress 插件时,它每次都无法工作。
这是经常出现的错误。有时按下刷新会使其工作。
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) 脚本,但是当我独立使用它并使用 magpierss 而不是版本 (rss.php) 调用它时,它似乎工作正常内置在wordpress中。
独立版本目前在这里http://www.fromefm.co.uk/popupplayer/five.php?show=homelyremedies&showno=6它不是使用 wordpress 简码而是从中获取变量$_get
。
这里有插件的演示安装(请忽略 fromfmplayer.js 上的 js 错误,因为它无关)http://frome.me/ffm/?page_id=48