我的Wordpress分页遇到了一些麻烦。
每次我点击分页链接,它都会转到下一页,但分页不会更新(例如,当我点击页面“2”时,分页仍然认为它在页面上“1” ”
这是一个奇怪的错误,但它让我感到沮丧(特别是看到我已经把头发拉了两天,只是试图让分页完全停止!)。
这是我的分页代码:
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(); ?>
非常感谢你提前帮助我们!
答案 0 :(得分:2)
尝试更改
'base' => @add_query_arg('page','%#%')
作为
'base' => @add_query_arg('paged','%#%')
尚未测试过。可能是这个问题,如果不是那么点击分页时你的网址是什么
答案 1 :(得分:2)
尝试使用wordpress插件,这将有助于你的分页,不需要1 2 3等内置分页。 这个插件为您提供了更好的分页格式。
答案 2 :(得分:0)
你在三元组中有错误,应该是:
$current = $wp_query->query_vars['paged'] > 1 ? $wp_query->query_vars['paged'] : 1;