Shortcode仅返回循环的第一个值

时间:2013-09-30 08:32:48

标签: wordpress shortcode

下面给出的短代码仅返回第一个值:

function completed_quiz(){
    global $wpdb;
    $current_user = wp_get_current_user();
    $userID = $current_user->ID;
    $fetch22 = $wpdb->get_results("MySQL Query");
    foreach($fetch22 as $item){
    return "Quiz ID: $item->quiz_id Percentage: $item->result <br>";
    }
}   
add_shortcode('show_completed_quiz', 'completed_quiz');

但是,如果我使用“echo”,它会给出所有值。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

在foreach中,将所有值存储在某个变量中,然后在foreach循环之后返回该变量

    function completed_quiz(){
      global $wpdb;<br/>
       $current_user = wp_get_current_user();
       $userID = $current_user->ID;
       $fetch22 = $wpdb->get_results("MySQL Query");

       $returnVal ='';

       foreach($fetch22 as $item){

        $returnVal .= "Quiz ID: $item->quiz_id Percentage: $item->result <br>";

       }

       return $returnVal ;
     }   

add_shortcode('show_completed_quiz','completed_quiz');