0

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

非常感谢您提前提供的帮助!

4

3 回答 3

3

尝试改变你的

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

作为

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

没有测试。如果不是,可能是这个问题,然后在点击分页时查看你的网址

于 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 回答