Wordpress自定义发布类型单循环输出错误的帖子

时间:2012-07-16 20:43:16

标签: wordpress loops

我无法让我的single-portfolio.php模板正常运行。

所以我有一个名为portfolio的自定义帖子类型。我在front-page.php中显示所有这些帖子,它完全正常。这是front-page.php的循环:

http://pastie.org/4268087

然而,对于我的生活,我无法在我的single-portfolio.php模板中显示正确的帖子。

基本上,如果我转到我的一个帖子(例如,让我们说http://example.com/portfolio/test-post/),我最终得到一个显示错误帖子的帖子页面(所以我得到的不是“测试帖子” “错邮报”)。无论我打开什么帖子,它都会显示完全相同的帖子(“错误帖子”)。如果我将posts_per_page设置为无限,它会显示所有帖子。

我尝试了很多不同的循环。我尝试了如上所示的完全相同的循环,以及Wordpress Codex中的默认自定义帖子类型循环。

有关如何解决此问题的任何建议?

谢谢,

2 个答案:

答案 0 :(得分:0)

结束后使用wp_reset_query

endwhile;
wp_reset_query();

答案 1 :(得分:0)

Zourbuth的解决方案对我不起作用,但是,在失败之后,我找到了Wordpress中自定义帖子类型的分页和单页的最佳解决方案。这是我的循环:

    <?php

    if ( get_query_var('paged') ) {
        $paged = get_query_var('paged');
    } else if ( get_query_var('page') ) {
        $paged = get_query_var('page');
    } else {
        $paged = 1;
    }

    query_posts( array(
        'post_type' => 'case-study',
        'paged' => $paged,
        'posts_per_page' => 12,
        'post_status' => 'publish',
        'order' => 'ASC',
        'orderby' => 'menu_order'
    ));

    while (have_posts()) : the_post();

        if(!get_post_format()) {
            get_template_part('format', 'standard');
        } else {
            get_template_part('format', get_post_format());
        }

        $i++;

    endwhile;

    ?>