新的WP_QUERY弄乱了分页

时间:2015-05-19 作者:Thomas

我一直在寻找一种解决方案,专门为归档页面显示单独数量的帖子,并认为我已经想出了一些工作代码,但我发现它会弄乱分页。基本上,档案的第2页显示与档案首页相同的帖子。链接:http://hvamgolfklubb.no/category/ukategorisert/

代码:

<?php 

            /* Sets the amount of posts to display for $querycat */
            $querycat = new WP_Query( \'posts_per_page=4\' ); ?>

        <?php
        /* Start the Loop */
        while ( $querycat->have_posts() ) : $querycat->the_post(); /* Display $querycat amount of posts */

            /* Include the post format-specific template for the content. If you want to
             * this in a child theme then include a file called called content-___.php
             * (where ___ is the post format) and that will be used instead.
             */
            get_template_part( \'content\', get_post_format() );

        endwhile;

        wpbeginner_numeric_posts_nav();
        ?>
非常感谢您的帮助。我知道这不是数字分页造成的混乱,因为它在实现之前也是这样。我对PHP还是很陌生,但每天都在改进,所以如果您知道任何更好的解决方案,请与我们分享。

1 个回复
SO网友:Nicolai Grossherr

如果我理解正确,您只想在存档中显示不同数量的帖子,因此根本不需要自定义二次查询。您可以通过pre_get_posts 钩子,或利用posts_per_pageposts_per_archive_page 参数

示例pre_get_posts

function wpse188786_different_number_of_posts_for_archive_ppp( $query ) {
    if ( !is_admin() && $query->is_main_query() ) {
        if ( $query->is_archive ) {
            $query->set( \'posts_per_page\', 4 );
        }
    }
}
add_action( \'pre_get_posts\',\'wpse188786_different_number_of_posts_for_archive_ppp\' );
示例posts_per_archive_page

function wpse188786_different_number_of_posts_for_archive_ppap( $query ) {
    if ( !is_admin() && $query->is_main_query() ) {
        // no $query->is_archive check needed, because posts_per_archive_page
        // does override, when $query->is_archive or $query->is_search is true
        $query->set( \'posts_per_archive_page\', 4 );
    }
}
add_action( \'pre_get_posts\',\'wpse188786_different_number_of_posts_for_archive_ppap\' );

结束

相关推荐

Pagination on Single Post

我想在我的单曲上设置分页。php文件,以便正确使用无限滚动函数。我知道分页可以放在一个帖子上,但我需要做一个。php页面可以在URL上附加一个变量。我的意思是,如果我有这个URL:http://www.example.com/post_URL/ 我需要它像这样工作:http://www.example.com/post_URL/page/2/ 它需要像这样工作,因为我在主页/主博客页面上有一个无限滚动条,它选择的是get\\u query\\u var(\'page\')变量,它似乎不