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(); ?>
事前にご協力いただきありがとうございます。