[英]Wordpress - pagination for get_terms leading to 404
我的Wordpress网站中有非常长的类别列表(220个并且还在增加)。 我想设置一个自定义页面模板,在其中可以按字母顺序列出所有类别,但由于种类太多,我想对它们进行分页。 到目前为止,这是我的代码:
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$per_page = 9;
$number_of_series = count( $total_categories );
$offset = $per_page * ( $paged - 1) ;
$totalpages = ceil( $number_of_series / $per_page );
$total_categories_paginated = get_terms( array(
'taxonomy' => 'category',
'fields' => 'ids',
'exclude' => array(608,4003,756),
'hide_empty' => false,
'offset' => $offset,
'number' => $per_page,
) );
function custom_page_navi( $totalpages, $paged, $end_size, $mid_size ) {
$bignum = 999999999;
if ( $totalpages <= 1 || $paged > $totalpages ) return;
return paginate_links( array(
'base' => str_replace( $bignum, '%#%', esc_url(get_pagenum_link( $bignum ) ) ),
'format' => '',
'current' => max( 1, $paged ),
'total' => $totalpages,
'prev_text' => 'Prev',
'next_text' => 'Next',
'type' => 'list',
'show_all' => false,
'end_size' => $end_size,
'mid_size' => $mid_size
) );
}
foreach ($total_categories_paginated as $single_category) {
// doing my things with every category
}
printf( '<nav class="pagination">%s</nav>',
custom_page_navi( $totalpages, $paged, 3, 3 )
);
有了这段代码,我得到了所有的分页链接-并且页数正确-但是当我尝试转到第2页(或每隔一页)时,我总是收到404错误。 我究竟做错了什么? 谢谢! :)
编辑:甚至将第一行更改为:
$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
不幸的是没有帮助:(
我想,您的意思是在custom_page_navi定义中使用$paged
而不是$page
更改
function custom_page_navi( $totalpages, $page, $end_size, $mid_size )
至
function custom_page_navi( $totalpages, $paged, $end_size, $mid_size )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.