多个Wordpress循环,隐藏第二页上的第一个循环

时间:2017-02-05 18:00:06

标签: php wordpress pagination

我已经构建了两个带有数字分页的Wordpress循环,如下所示:

 <div class="container" style="background:#ccc">
            <?
                $paged2 = isset( $_GET['paged2'] ) ? (int) $_GET['paged2'] : 1;

                // Custom Loop with Pagination 1
                // http://codex.wordpress.org/Class_Reference/WP_Query#Usage
                $args1 = array(
                    'paged'          => false,
                    'category_name' => 'latest',
                    'posts_per_page' => 1,
                );
                $query1 = new WP_Query( $args1 );

                while ( $query1->have_posts() ) : $query1->the_post();
                    the_title();
                    the_category(' ');
                    the_excerpt();
                endwhile;

            ?>
            <!-- second -->
            <?
                $args2 = array(
                    'paged'          => $paged2,
                    'category_name' => 'uncategorized',
                    'posts_per_page' => 2,
                );
                $query2 = new WP_Query( $args2 );

                while ( $query2->have_posts() ) : $query2->the_post();
                    the_title();
                    the_category(' ');
                    the_excerpt();
                endwhile;

                $pag_args2 = array(
                    'format'  => '?paged2=%#%',
                    'current' => $paged2,
                    'total'   => $query2->max_num_pages,
                    'add_args' => array( 'paged1' => $paged1 )
                );
                echo paginate_links( $pag_args2 );
            ?>
    </div>
    <!-- container -->

一切正常,但是paginatin页面也显示了最新的&#39;后循环,虽然我已将分页设置为false。 我怎么能隐藏分页页面上的第一个循环? 建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

在循环结束后使用wp_reset_postdata()函数 按照此代码,可能会帮助你

<?php
// example args
$args = array( 'posts_per_page' => 3 );

// the query
$the_query = new WP_Query( $args );
?>

<?php if ( $the_query->have_posts() ) : ?>

    <!-- start of the loop -->
    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
        <?php the_title(); ?>
        <?php the_excerpt(); ?>
    <?php endwhile; ?><!-- end of the loop -->

    <!-- put pagination functions here -->
    <?php wp_reset_postdata(); ?>

<?php endif; ?>