Wordpress快捷码仅从提要返回1,尽管使用了foreach

Wordpress快捷码仅从提要返回1,尽管使用了foreach,wordpress,foreach,rss,return,shortcode,Wordpress,Foreach,Rss,Return,Shortcode,我正在尝试创建一个自定义Wordpress插件,它使用短代码输出我想要的内容。在这段文本代码中,我试图读取一个rss文件,并给出前5个提要的列表 $showno是短码变量之一,因此我可以使用以下[player show=foo snowno=5]。在示例中,未使用代码$show 下面的代码仅显示提要列表中最近的项。如果我将return更改为echo,那么它将按预期工作,只是它显示在文章的顶部,而不是我输入短代码的位置。我搜索了这个问题的答案,提供的解决方案只是“使用返回”,我已经这样做了 谢谢你

我正在尝试创建一个自定义Wordpress插件,它使用短代码输出我想要的内容。在这段文本代码中,我试图读取一个rss文件,并给出前5个提要的列表

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

下面的代码仅显示提要列表中最近的项。如果我将
return
更改为
echo
,那么它将按预期工作,只是它显示在文章的顶部,而不是我输入短代码的位置。我搜索了这个问题的答案,提供的解决方案只是“使用返回”,我已经这样做了

谢谢你的建议。谢谢

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>";  
}     
include_once(ABSPATH.WPINC./rss.php');
$num_items=$showno;
$feedurl='1http://feeds.bbci.co.uk/news/rss.xml';
$feed=fetch_rss($feedurl);
$items=array\u slice($feed->items,0,$num\u items);
foreach($items作为$item){
$title=$item[title];
$mp3link=$item[link];
$description=$item[description];
返回“
  • $title-$description
  • ”; }
    应返回而不是回显

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

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

    $final\u html='';
    foreach($items作为$item)
    {
    $final_html.=“
  • $title-$description
  • ”; } 返回$final_html;
    这不是一个完整的短代码。我假设它被包装在一个函数中,并用“注册”了?