0

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

所以我有一个名为投资组合的自定义帖子类型。我在 front-page.php 中显示所有这些帖子,它工作得非常好。这是 front-page.php 的循环:

http://pastie.org/4268087

然而,就我的一生而言,我无法在我的 single-portfolio.php 模板中找到正确的帖子。

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

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

关于如何解决这个问题的任何建议?

谢谢,

4

2 回答 2

0

在结束后使用wp_reset_query

endwhile;
wp_reset_query();
于 2012-07-17T03:19:18.350 回答
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;

    ?>
于 2012-09-05T02:36:14.767 回答