短代码仅显示单个帖子

时间:2014-08-19 17:41:06

标签: wordpress shortcode

我正在创建一个推荐插件。我注册了一个查询自定义推荐帖子的短代码,但短代码只加载了一个我需要加载10个帖子的帖子。那么短代码不会加载所有自定义帖子的问题在哪里?

代码在这里:

function testimonial_text_shortcode(){
    global $post;
    $q = new WP_Query(
        array('posts_per_page' => 10, 'post_type' => 'rwpt_custom_post')
        );      
    while($q->have_posts()) : $q->the_post();
        $list = '<li><p>'.get_the_content().'</p></li>';        
    endwhile;
    wp_reset_query();
    return $list;
}

add_shortcode('test_text', 'testimonial_text_shortcode');

1 个答案:

答案 0 :(得分:0)

您在每次循环迭代中都会覆盖$list的值,所以最后它只会保留最后一个值。

修改代码以附加到变量:

function testimonial_text_shortcode(){
    global $post;
    $q = new WP_Query(
        array('posts_per_page' => 10, 'post_type' => 'rwpt_custom_post')
        );
    $list = '<ul>';
    while($q->have_posts()) : $q->the_post();
        $list .= '<li><p>'.get_the_content().'</p></li>';        
    endwhile;
    $list .= '</ul>';
    wp_reset_query();
    return $list;
}

add_shortcode('test_text', 'testimonial_text_shortcode');