Pagination URL order

时间:2013-10-11 作者:Remi

我正在尝试按分类法为自定义帖子类型创建过滤器。

当我使用过滤器选项时,它会创建一个不起作用的URL:/projecten-test/?branche=industrie/page/2/.

但当我手动输入此url时,它确实起作用:/projecten-test/page/2/?branche=industrie

我该如何自动完成这一点呢?我应该更改将php GET添加到URL的方法吗?我应该更改此函数底部的wp\\U重写吗

//在自定义post typefunction paginate()上使用分页{全局$wp\\u query,$wp\\u 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\' => \'plain\',
    \'prev_text\'    => __(\'« Vorige\'),
    \'next_text\'    => __(\'Volgende »\')
);
if ( $wp_rewrite->using_permalinks() ) $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 );
}

1 个回复
SO网友:Remi

这似乎可以解决问题。不确定这是否是最好的方法,因此,如果我错了,请告诉我:

通过更改:

if ( $wp_rewrite->using_permalinks() ) $pagination[\'base\'] = user_trailingslashit( trailingslashit( remove_query_arg( \'s\', get_pagenum_link( 1 ) ) ) . \'page/%#%/\', \'paged\' );
收件人:

if ( $wp_rewrite->using_permalinks() ) $_SERVER[\'REQUEST_URI\'] = user_trailingslashit( trailingslashit( remove_query_arg( \'s\', get_pagenum_link( 1 ) ) ) . \'page/%#%/\', \'paged\' );
它正在工作。现在,如果您从第4页输入分类法到第1页的新分类法,我所要做的就是创建一个回退。

结束

相关推荐

Pagination and multiple loops

对,所以我现在有一个使用css网格将页面分成三部分的页面。第三列是侧栏,前两列各有一个要显示的帖子查询,并创建一个漂亮的帖子网格(虚拟内容):http://puu.sh/2Xh9o.jpg每个循环如下所示: <?php query_posts(\'showposts=5\'); ?> <?php $posts = get_posts(\'numberposts=5&offset=0\'); foreach ($posts as $post) : start_wp()