Wp_query分页

时间:2018-05-12 09:56:44

标签: wordpress pagination

我试图在下面的wp_query中添加分页(使用在线工具生成),而且我失败了。

我看到过添加分页值的示例,然后作为wp_query的一部分调用。但是我收到了错误。

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;

有人可以在下面给出建议,如何添加分页?

<?php 
// WP_Query arguments
$args = array(
'post_type'              => array( 'post' ),
'post_status'            => array( 'publish' ),
'nopaging'               => false,
'posts_per_page'         => '2',
'order'                  => 'DESC',
'orderby'                => 'date',
);

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

// The Loop
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        the_title( '<h3 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>' );
        the_excerpt();
        }
    } else {
    // no posts found
    }

// Restore original Post Data
wp_reset_postdata();

?>

2 个答案:

答案 0 :(得分:1)

似乎只缺少在查询参数上使用$ paged值。

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;

// WP_Query arguments
$args = array(
    'post_type'              => array( 'post' ),
    'post_status'            => array( 'publish' ),
    'nopaging'               => false,
    'posts_per_page'         => '2',
    'order'                  => 'DESC',
    'orderby'                => 'date',
    'paged'                  => $paged
);

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

检查以下页面以获得更多解释。

https://www.wpblog.com/use-wp_query-to-create-pagination/

答案 1 :(得分:0)

完整代码

<?php 
// WP_Query arguments
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
'post_type'              => array( 'post' ),
'post_status'            => array( 'publish' ),
'nopaging'               => false,
'posts_per_page'         => '2',
'order'                  => 'DESC',
'orderby'                => 'date',
'paged' => $paged
);

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

// The Loop
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        the_title( '<h3 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>' );
        the_excerpt();
        }
    } else {
    // no posts found
    }

    echo paginate_links( array(
        'base'         => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
        'total'        => $query->max_num_pages,
        'current'      => max( 1, get_query_var( 'paged' ) ),
        'format'       => '?paged=%#%',
        'show_all'     => false,
        'type'         => 'plain',

    ) );
// Restore original Post Data
wp_reset_postdata();

?>