1

カスタムループがあります:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$works = new WP_Query('category_name=work&posts_per_page=9&paged=' . $paged); 

ページネーションは 3 ページを出力します。最初は 9 件の投稿があり、これは投稿の総数でもあり、2 ページ目と 3 ページ目は投稿がありません (投稿がない場合はページがないはずですよね?)

ここに私の paginate_links() があります:

<?php elseif ( $wp_query->max_num_pages > 1 && ( is_home() || is_archive() || is_search() || is_category() ) ) : // navigation links for home, archive, and search pages ?>

    <?php 
        global $wp_query;

    $big = 999999999;

    echo paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'prev_text' => '',
        'next_text' => '',
        'current' => max( 1, get_query_var('paged') ),
        'total' => $wp_query->max_num_pages
    ) );

    ?>

<?php endif; ?>

デフォルトのループでは、すべて問題ありません。

ありがとう!

4

1 に答える 1

0

$wp_query を使用して総ページ数を取得しています。$wp_query をグローバル化する代わりに、カスタム クエリ ($works) を使用します。

于 2013-06-26T09:12:57.713 に答える