我使用实现了分页paginate_links()
如下所示:
<?php
function wpse229670_pagination( $query = false ) {
global $wp_query;
$query = $query ? $query : $wp_query;
$total_pages = $query->max_num_pages;
$big = 999999999;
if ( $total_pages > 1 ) {
echo \'<nav class="navigation posts-navigation" role="navigation">\';
echo \'<strong>\'. __( \'Pages:\', \'text-domain\' ) .\'</strong> \';
echo paginate_links( array(
\'base\' => ,
\'format\' => \'?paged=%#%\',
\'current\' => max( 1, get_query_var(\'paged\') ),
\'total\' => $total_pages
) );
echo \'</nav>\';
} //endif ( $total_pages > 1 )
}
我可以使用
wpse229670_pagination();
在循环内,或者对于任何自定义循环,我都可以将本地查询作为参数传递。
它工作得很好。
场景是,我添加了一些类似这样的查询参数,以向用户显示模式警告:
$terms = wp_get_post_terms( $post_id, \'my_tax\' );
$term_link = get_term_link( $term_id, \'my_tax\' );
$parameterized_url = add_query_arg( \'from_expired\', 1, $term_link );
wp_redirect($parameterized_url);
exit;
但是分页链接继续显示警告,因为我不能
remove_query_arg()
从查询和以下页面也包含参数。
我认为如果我可以在分页函数中删除必要的[一次性]query\\u参数会更好。你知道我做不到:
//$query = remove_query_arg( \'from_expired\', $query );
因为
$query
在我的函数中是一个对象。
那么,我怎么能remove_query_arg()
来自$wp_query
对象或来自paginate_links()
?