首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WordPress do_shortcode()函数中运行循环?

如何在WordPress do_shortcode()函数中运行循环?
EN

Stack Overflow用户
提问于 2012-03-02 00:20:32
回答 1查看 1.4K关注 0票数 0

是否可以在do_shortcode()函数中运行循环?

示例:

代码语言:javascript
复制
echo do_shortcode('[iscorrect]'.$text_to_be_wrapped_in_shortcode.'[/iscorrect]');

http://codex.wordpress.org/Function_Reference/do_shortcode

我尝试创建一个函数来获取数据并将其放入数组中。然后,对于该数组中的每一项,返回单独的数组值。

示例:

代码语言:javascript
复制
function the_ips(){
    $ips = get_ips();
    foreach($ips as $ip){
        return $ip; 
    }
}

我已经转储了数据数组,以确保其中包含正确的数据。一切都是正确的。它继续在do_shortcode()函数中输出数组的第一个值,但不输出其他值。

以下是我尝试过的方法:

代码语言:javascript
复制
echo do_shortcode('[iscorrect]'.the_ips().'[/iscorrect]');

代码语言:javascript
复制
$content = '';
$content .= '[iscorrect]';
$ips = get_ips();
foreach($ips as $ip){
    $content .= $ip;    
}
$content .= '[/iscorrect]';
echo do_shortcode($content);

它仍然会继续生成数组的第一个结果,而不会产生其他结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-02 00:24:32

您对return的调用会立即从函数返回。foreach循环的其余部分永远不会运行。也许你只是想加入ips?

代码语言:javascript
复制
return implode(" ", $ips);

或者,作为一个列表:

代码语言:javascript
复制
function the_ips(){
  $ips = get_ips();
  $output = "<ol>";
  foreach($ips as $ip){
    $output .= "<li>{$ip}</li>";
  }
  return $output .= "</ol>";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9519893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档