如何从foreach函数返回值

时间:2012-07-22 14:28:59

标签: wordpress foreach widget return shortcode

我为wordpress网站创建了一个小部件,我需要在函数中获取多个值,并在网站上返回它们的返回功能。如果我不使用返回代码不会出现在div的

这是我的小部件代码

    if($tweets) : foreach($tweets as $t) : ?>
            <div class="vf-tweet">
                <img src="<?php echo $t['image']; ?>" width="36" height="36" alt="" />                
                <div class="vf-tweet-inner">
                    <?php echo $t['text']; ?> | 
                        <span class="vf-tweet-time"><?php echo human_time_diff($t['time'], current_time('timestamp')); ?> ago</span>
                </div><!-- /vf-tweet-inner -->
            </div>
        <?php endforeach; ?>
        <a href="http://twitter.com/#!/<?php echo $name; ?>">[ Follow us on Twitter ]</a>
    <?php else : ?>
        <p><?php _e('No tweets found.', 'vt-translate') ?></p>
    <?php endif;

我需要通过使用返回函数来返回它,但我很少被卡住,我不知道如何处理这个。

2 个答案:

答案 0 :(得分:1)

您希望使用所需的输出构建一个字符串并返回:

function function_name() {
    $str = "";

    if($tweets) : foreach($tweets as $t) : ?>
        $str .= "<div class="vf-tweet">";
        /** Do the same for the rest of the code above **/

    return $str;
}

答案 1 :(得分:0)

    if($tweets) : foreach($tweets as $t) : 
        $tweet_show .= '<div class="vf-tweet"><img src='. $t['image'].' width="36" height="36" alt="" /><div class="vf-tweet-inner">'.$t['text'].' | <span class="vf-tweet-time">'. human_time_diff($t['time'], current_time('timestamp')).' ago</span></div></div>';
        endforeach;
        $tweet_show .= '<a href="http://twitter.com/#!/'. $name .'">[ Follow us on Twitter ]</a>';
    else :
        $tweet_show .= '<p>'. __('No tweets found.', 'vt-translate') .'</p>';
    endif;

return '<div class="vf-tweets">'.$tweetstitle . $tweet_show .'</div>';