Wordpress 帖子循环分页 - 第一页返回 125 个帖子而不是 10 个,其余返回 10 个

问题描述 投票:0回答:2

我试图在 WordPress 上分页显示每页 10 个帖子,第一页返回 125 个帖子而不是 10 个,其余页面按要求返回 10 个帖子,请协助:)

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$output = array();
global $post;
$args = array('nopaging' => false, 'paged' => $paged, 'posts_per_page' => 10, 'post_type' => 'post', 'order'=> 'DES', 'orderby' => 'date');
$postslist = new WP_Query( $args );

    if ( $postslist->have_posts() ) :
        while ( $postslist->have_posts() ) : $postslist->the_post(); 

    array_push($output, array("timestamp" => get_the_date('U'),"img_url" => get_the_post_thumbnail_url(), "title" => get_the_title(), "text" => get_the_content()));
         endwhile;  

        wp_reset_postdata();
    endif;
php wordpress
2个回答
0
投票

这是可用于分页的示例代码:

<?php
            /**
             * Looping through the content
             */
            $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
            $loop = new WP_Query (array(
                            'post_type' => 'custom_portfolio',
                            'orderby' => 'post_id',
                            'posts_per_page' => 10,
                            'paged' => $paged,
                            'order' => 'DESC'
                        )); ?>
            <?php while ($loop -> have_posts()) : $loop -> the_post(); ?>
            <?php endwhile; ?><?php wp_reset_query(); ?><?php wp_reset_postdata(); ?>

这是分页部分:

<!-- Pagination -->
            <div class="pagination">
                <?php
                echo paginate_links( array(
                    'base'         => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
                    'total'        => $loop->max_num_pages,
                    'current'      => max( 1, get_query_var( 'paged' ) ),
                    'format'       => '?paged=%#%',
                    'show_all'     => false,
                    'type'         => 'plain',
                    'end_size'     => 2,
                    'mid_size'     => 1,
                    'prev_next'    => true,
                    'prev_text'    => sprintf( '<i></i> %1$s', __( 'Previous Page', 'text-domain' ) ),
                    'next_text'    => sprintf( '%1$s <i></i>', __( 'Next Page', 'text-domain' ) ),
                    'add_args'     => false,
                    'add_fragment' => '',
                ) );
                ?>
            </div>

这对你来说是一个好的开始,只要你想要的就采纳吧。


0
投票

粘性帖子是问题所在,我已从查询中排除了 Sticky_posts,它解决了问题

'ignore_sticky_posts' => 1
© www.soinside.com 2019 - 2024. All rights reserved.