繁体   English   中英

WordPress-分页获取导致404的get_terms

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM