Php WordPress自定义分页是';工作不好

Php WordPress自定义分页是';工作不好,php,jquery,wordpress,pagination,Php,Jquery,Wordpress,Pagination,我在一个WordPress项目上工作,在这个项目中,根据需求,我为分页实现了自定义分页。当我们点击第2页、第3页等时,它运行良好。但是当我在第一页以外的其他页面上,想要在第一页上移动并点击1链接时,它就不工作了。我不明白问题出在哪里 我的自定义分页代码: function custom_pagination($numpages = '', $pagerange = '', $paged='') { if (empty($pagerange)) { $pag

我在一个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>";
        }
    }
函数自定义分页($numpages='',$pagerange='',$paged=''){
if(空($pagerange)){
$pagerange=2;
}
全球$paged;
如果(空($paged)){
$paged=get_query_var('paged')?intval(get_query_var('paged')):1;
}
如果($numpages==''){
全局$wp_查询;
$numpages=$wp\u query->max\u num\u页面;
如果(!$numpages){
$numpages=1;
}
}
$pagination_args=数组(
'基本'=>'%\%',
'格式'=>'?分页=%#%',
“总计”=>$numpages,
“当前”=>$paged,
“全部显示”=>正确,
“结束大小”=>1,
“中等大小”=>$pagerange,
“上一步”=>正确,
'prev_text'=>esc_html_uuu('prev','textdomain'),
'next_text'=>esc_html_uuu('next','textdomain'),
'类型'=>'列表',
'add_args'=>false,
“添加片段”=>“
);
$paginate_links=paginate_links($pagination_args);
如果($paginate_链接){
回显“$paginate_链接”;
}
}

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

有很多方法,可以在主题目录中搜索主循环所在的文件部分,然后查找:

如果((是首页()){…}

也许你有一个部分有:

如果(!is_paged()){….}

包括第一页的特殊零件模板


编辑:对不起,我读到了你的问题和我糟糕的英语,你能更具体一点吗,第一页检查器上显示的错误链接是什么,预期的链接是什么?

检查你的函数自定义分页()是否应用于首页,也许你的主题在帖子列表页面的第一页有特殊的模板部分

有很多方法,可以在主题目录中搜索主循环所在的文件部分,然后查找:

如果((是首页()){…}

也许你有一个部分有:

如果(!is_paged()){….}

包括第一页的特殊零件模板


编辑:很抱歉,我读到了你的问题和我糟糕的英语,你能说得更具体一些吗,第一页检查器上显示的坏链接是什么,预期的链接是什么?

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

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

终于找到了解决这个问题的办法。代码的基础需要更改:

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

我在自定义模板上使用了这个函数。当我检查1个链接时,它的url是空的,但是在检查2,3个etc链接时,我得到了正确的url。简单地说,分页对所有链接都有效,而不是1个页面链接。意思是当我移动到另一页而不是1页,并想返回到1页时,分页不起作用。我在自定义模板上使用了此功能。当我检查1个链接时,它的url是空的,但是在检查2,3个etc链接时,我得到了正确的url。简单地说,分页对所有链接都有效,而不是1个页面链接。意味着当我移动到另一页而不是1页,并希望返回到1页时,分页不起作用。