archive.php中的分页Wordpress

时间:2016-09-13 13:47:40

标签: php wordpress pagination

我正在制作用于列出多篇文章的分页:

这是我到目前为止所写的内容:

archive.php

<div class="container">
    <div class="row">

    <?php
        $args = array( 
            'posts_per_page' => 4,
            'category_name' => 'actualites',
            'paged' => get_query_var('paged') ? get_query_var('paged') : 1
        );

        $myposts = new WP_Query($args);
    ?>



        <div class="bloc-content col-lg-10 col-md-9 col-sm-12 col-xs-12">
            <h1 class='page-title'><span><?php single_term_title(); ?></span></h1>
            <?php if ( $myposts->have_posts() ) : ?>

                <?php while ( $myposts->have_posts() ) : $myposts->the_post(); ?>

                    <?php get_template_part( 'content', get_post_format() );?>

                <?php endwhile; wp_reset_postdata();?>

            <?php endif; ?>
            <?php if (($myposts->max_num_pages) > 1) { ?>

                <nav class="custom-pagination">
                    <?php echo pagination($myposts); ?>
                </nav>

            <?php } ?>
        </div>
        <div class="sidebar col-lg-2 col-md-3 col-sm-12 col-xs-12">
            <?php get_sidebar(); ?>
        </div>
    </div>
</div>

分页显示得很好但是当我点击下一个按钮时,我会重定向到404页面。

感谢您的帮助!

1 个答案:

答案 0 :(得分:8)

没关系,我找到了解决问题的解决方案:

http://ilikekillnerds.com/2012/11/fixing-wordpress-404-custom-post-type-archive-pagination-issues-with-posts-per-page/

functions.php中插入此代码:

function custom_posts_per_page( $query ) {

if ( $query->is_archive('project') ) {
    set_query_var('posts_per_page', -1);
}
}
add_action( 'pre_get_posts', 'custom_posts_per_page' );