这里有一个建议:
首先我们需要让paginate_links()
返回数组而不是HTML列表:
\'type\' => \'array\',
然后我们可以通过以下方式获取输出:
$paginate_links = paginate_links( $paginationArgs );
然后计划过滤掉想要的链接。
让我们获取当前值:
$c = $paginationArgs[\'current\'];
我们将搜索过滤器构造为:
$allowed = [
\' current\',
\'prev \',
\'next \',
sprintf( \'/page/%d/\', $c-2 ),
sprintf( \'/page/%d/\', $c-1 ),
sprintf( \'/page/%d/\', $c+1 ),
sprintf( \'/page/%d/\', $c+2 )
];
请注意,我们可以围绕边缘对其进行优化,并仅过滤可用的内容。也可以根据
mid_size
属性在此,我们假设:
\'mid_size\' => 2,
还要注意:
\'end_size\' => 0,
意味着
end_size
是1,因为以下签入
paginate_links()
核心功能:
if ( $end_size < 1 ) {
$end_size = 1;
}
然后过滤允许的分页链接:
$paginate_links = array_filter(
$paginate_links,
function( $value ) use ( $allowed ) {
foreach( (array) $allowed as $tag )
{
if( false !== strpos( $value, $tag ) )
return true;
}
return false;
}
);
最后,我们显示结果:
if( ! empty( $paginate_links ) )
printf(
"<ul class=\'page-numbers\'>\\n\\t<li>%s</li>\\n</ul>\\n",
join( "</li>\\n\\t<li>", $paginate_links )
);
希望您能根据自己的需要进行调整!