Wordpress分页问题

时间:2013-02-03 13:37:25

标签: php wordpress pagination

我的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(); ?>        

非常感谢你提前帮助我们!

3 个答案:

答案 0 :(得分:2)

尝试更改

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

作为

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

尚未测试过。可能是这个问题,如果不是那么点击分页时你的网址是什么

答案 1 :(得分:2)

尝试使用wordpress插件,这将有助于你的分页,不需要1 2 3等内置分页。 这个插件为您提供了更好的分页格式。

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

答案 2 :(得分:0)

你在三元组中有错误,应该是:

$current =  $wp_query->query_vars['paged'] > 1 ? $wp_query->query_vars['paged'] : 1;