无法使用自定义POST类型循环显示分页导航

时间:2014-09-09 作者:Patrice Poliquin

我已经在WordPress主题开发中使用了入门包,但我无法在自定义帖子类型循环中显示导航。

框架启动程序是:http://underscores.me/

模板文件中有我的PHP代码,可以循环到文件中

<?php
            wp_reset_postdata();

              $args = array(
                  \'post_type\' => \'testimonial\',
                  \'order\' => \'ASC\',
                  \'orderby\' => \'menu_order\',
                  \'posts_per_page\' => 2,
                  \'paged\' => get_query_var(\'paged\') ? get_query_var(\'paged\') : 1
                  );

              // The Query
            $wp_testimonials = new WP_Query();
            $wp_testimonials->query($args);

              // The Loop
              while ( $wp_testimonials->have_posts() ) : $wp_testimonials->the_post(); 
                ?>
                    <div  id="page-<?php the_ID(); ?>" <?php post_class(\'list-sub-page\'); ?>>
                        <div class="wrapper">

                            <h3 class="uppercase"><?php the_title(); ?></h3>

                            <div class="the_resume">
                                <?php the_content(); ?>
                            </div>

                            <?php
                            if ( has_post_thumbnail() ) 
                            {
                            the_post_thumbnail(\'testimonial\');
                        }
                        ?>
                        </div>
                    </div>

                    <?php

              endwhile;

                ?>

                <div class="navigation">
                <?php
                miller_paging_nav();
                ?>
            </div>

                <?php


              // Reset Query
              wp_reset_postdata();

            ?>
您可以看到函数miller\\u paging\\u nav();由框架生成,函数如下所示。

if ( ! function_exists( \'miller_paging_nav\' ) ) :
/**
 * Display navigation to next/previous set of posts when applicable.
 */
function miller_paging_nav() {
    // Don\'t print empty markup if there\'s only one page.
    if ( $GLOBALS[\'wp_query\']->max_num_pages < 2 ) {
        return;
    }
    ?>
    <nav class="navigation paging-navigation" role="navigation">
        <h1 class="screen-reader-text"><?php _e( \'Posts navigation\', \'miller\' ); ?></h1>
        <div class="nav-links">

            <?php if ( get_next_posts_link() ) : ?>
            <div class="nav-previous"><?php next_posts_link( __( \'<span class="meta-nav">&larr;</span> Older posts\', \'miller\' ) ); ?></div>
            <?php endif; ?>

            <?php if ( get_previous_posts_link() ) : ?>
            <div class="nav-next"><?php previous_posts_link( __( \'Newer posts <span class="meta-nav">&rarr;</span>\', \'miller\' ) ); ?></div>
            <?php endif; ?>

        </div><!-- .nav-links -->
    </nav><!-- .navigation -->
    <?php
}
endif;
我的自定义帖子类型中有大约6到7条推荐信,但分页从未显示出来。有人能帮我吗?

--

EDIT 我使用了这个网站上另一篇文章的文档,分页显示了这一点,但我想我可能有重写规则的问题。

我的页面:http://vincent.okidoomedia.com/miller/patient/testimonials/

文件:Pagination custom query

如果尝试单击“我的网页”上的#2或#3,它将始终返回主页。如果我将永久链接更改为默认值,它将正常工作。有什么想法吗?

1 个回复
SO网友:Rarst

你在这里所做的都是坏主意。而您可以替换模板中的查询,该查询往往会破坏内容,尤其是分页。

简单来说,假设您有10份推荐信,您的WP设置为每页5篇帖子:

你的模板认为有10/2=5页的推荐信,但WordPress认为只有10/5=2页

对于主循环的任何修改,都需要使用类似于pre_get_posts 并在到达模板之前完成。

结束

相关推荐

The Loop in Static Page

我对环路有一些问题。我以“Twenty14”主题为例。我正在使用基本循环创建2个php文件。一个是家。其中一个是名为示例页的模板页。php。两者都包含此代码;if( have_posts() ) : while( have_posts() ) : the_post(); the_content; endwhile; endif; 没什么特别的,唯一的区别是我在示例页面上有模板声明。php/** * Template Nam