0

Wordpress のページネーションに問題があります。

ページネーション リンクをクリックするたびに、次のページに移動しますが、ページネーションは更新されません (たとえば、ページ "2" をクリックすると、ページネーションはまだページ "1" にあると認識します。

これは奇妙なバグですが、それでも私はイライラします (特に、ページネーションを完全に機能させるために 2 日間髪を引っ張っていたのを見て!)。

これが私のページネーションコードです:

   function paginate() {
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;

$pagination = array(
    'base' => @add_query_arg('page','%#%'),
    'format' => '',
    'total' => $wp_query->max_num_pages,
    'current' => $current,
    'show_all' => true,
    'type' => 'list',
    'next_text' => '»',
    'prev_text' => '«'
    );

if( $wp_rewrite->using_permalinks() )
    if ( is_home() ) {
        //fixes index.php weird error on how it displays the pagination URL which causes errors only on index.php
        $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . '?page=%#%/', 'paged' );
    } else {
        $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
    }
if( !empty($wp_query->query_vars['s']) )
    $pagination['add_args'] = array( 's' => get_query_var( 's' ) );

echo paginate_links( $pagination );
}

そして、それが助けになるなら、呼び出されているループは次のとおりです。

            if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } else if ( get_query_var('page') ) {$paged = get_query_var('page'); } else {$paged = 1; }


                $archiveArgs = array( 'posts_per_page' => 8, 'paged' => $paged);
                $archiveLoop = new WP_Query();
                $archiveLoop->query( $archiveArgs );

         while ( $archiveLoop->have_posts() ) : $archiveLoop->the_post(); ?>        

事前にご協力いただきありがとうございます。

4

3 に答える 3

3

あなたを変えてみてください

 'base' => @add_query_arg('page','%#%')

として

 'base' => @add_query_arg('paged','%#%')

テストしていません。ページネーションをクリックしたときにあなたのURLが表示されない場合、この問題が発生する可能性があります

于 2013-02-04T06:09:06.343 に答える
2

ページネーションに役立つwordpressプラグインを使用してみてください。1 2 3などの組み込みのページネーションは必要ありません。このプラグインは、ページネーションのより良いフォーマットを提供します。

https://wordpress.org/plugins/jquery-post-splitter/

于 2015-10-13T07:00:31.823 に答える
0

三項にエラーがあります。次のようになります。

$current =  $wp_query->query_vars['paged'] > 1 ? $wp_query->query_vars['paged'] : 1;
于 2013-02-03T14:03:54.720 に答える