WordPress自定义分页工作不太好


WordPress custom pagination isn't working well

我正在做一个WordPress项目,在这个项目中,我根据需求实现了自定义分页。它工作得很好,当我们点击到第2页,3等,但当我在另一个页面,而不是第一页,想要移动到第一页,点击1链接,然后它不工作。我不明白是什么问题。

自定义分页代码:

function custom_pagination($numpages = '', $pagerange = '', $paged='') {
        if (empty($pagerange)) {
            $pagerange = 2;
        }
        global $paged;
        if (empty($paged)) {
            $paged = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1;
        }
        if ($numpages == '') {
            global $wp_query;
            $numpages = $wp_query->max_num_pages;
            if(!$numpages) {
              $numpages = 1;
            }
        }
        $pagination_args = array(
            'base'            => '%_%',
            'format'          => '?paged=%#%',
            'total'           => $numpages,
            'current'         => $paged,
            'show_all'        => true,
            'end_size'        => 1,
            'mid_size'        => $pagerange,
            'prev_next'       => True,
            'prev_text'       => esc_html__('Prev','textdomain'),
            'next_text'       => esc_html__('Next','textdomain'),
            'type'            => 'list',
            'add_args'        => false,
            'add_fragment'    => ''
        );
        $paginate_links = paginate_links($pagination_args);
        if ($paginate_links) {
            echo "<nav class='pagination-nav'>".$paginate_links."</nav>";
        }
    }

检查你的函数custom_pagination()是否应用front_page,也许你的主题有特殊的模板部分为你的帖子列表页面的第一页。

有很多方法,从主题目录中主循环所在的文件部分开始搜索,并查找:

if((is_home() || is_front_page())){…}

也许你有这样一个段落:

if (!is_page ()){....}

包含第一页的特殊零件模板。

编辑:对不起,我读了你的问题,我的英语很差,你能更具体地说一下,什么是第一页检查器上显示的坏链接,什么是预期的链接?

终于找到了这个问题的解决方案。需要修改代码的基础:

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