0

我有一段 php 代码可以创建漂亮的分页,但是当永久链接设置为默认值 (page=?284) 而不是像帖子名称 (/post-name) 之类的东西时,分页按钮不起作用,只是继续加载第一页内容。

<?php
global $wp_query;   
$total = $wp_query->max_num_pages;
if($total > 1) {
if ( !$current_page = get_query_var('paged') ){$current_page = 1;}
$perm_structure = get_option('permalink_structure');
$format = empty($perm_structure) ? '&page=%#%' : 'page/%#%/';
$paginate_return_data = paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => $format,
'current' => $current_page,
'total' => $total,
'mid_size' => 4,
'type' => 'plain'
));
echo $paginate_return_data;
}
?>

您能说出这段代码出了什么问题,只允许永久链接的帖子名称样式起作用吗?

4

1 回答 1

0

这可能有助于我查看 paginate_links 函数 https://codex.wordpress.org/Function_Reference/paginate_links

总参数的默认值为 1。但是,如果我将 1 传递给函数,它会返回 null。

在下面的示例中,我传递了 2 并且 var_dump 显示返回了 2 个链接。因此,也许您需要添加一个检查以查看 $total 是否为 2 或更多。

$paginate_return_data = paginate_links( array(
// 'base' => '%_%',
'base' => get_pagenum_link(1) . '%_%',
'format' => $format ,
'current' => $current_page,
// 'total' => $total,
'total' => 2
 ) );

var_dump($paginate_return_data);
于 2017-07-04T23:04:43.283 回答