0

我正在尝试创建一个自定义 Wordpress 插件,该插件利用简码输出我想要的内容。在此文本代码中,我试图读取一个 rss 文件并仅输出前 5 个提要的列表。

$showno是短代码变量之一,因此我可以使用以下[player show=foo snowno=5]. 在示例代码$show中没有使用。

下面的代码仅显示提要列表中的最新项目。如果我将它更改为returnecho那么它会按预期工作,只是它显示在帖子的顶部,而不是我输入简码的位置。我搜索了这个问题的答案,提供的解决方案只是“使用返回”,我已经完成了......

欣赏建议。谢谢

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

$num_items = $showno;
$feedurl = 'http://feeds.bbci.co.uk/news/rss.xml';
$feed = fetch_rss($feedurl);
$items = array_slice ($feed->items, 0, $num_items); 

foreach ($items as $item ) {
  $title = $item[title];
  $mp3link   = $item[link];
  $description  =  $item[description];
  return "<li>$title - $description</li>";  
}     
4

1 回答 1

1

短代码应返回不回显。

在您的代码中,您正在中断 the 的执行foreach并返回第一个值。

您应该构建一个字符串变量并在foreach循环之后返回它,因此您的所有循环都将被包含在内,例如:

$final_html = '';
foreach( $items as $item )
{
    $final_html .= "<li>$title - $description</li>"; 
}
return $final_html;
于 2013-02-09T23:23:46.077 回答