嘿,大家好,我正在尝试转换当前分页:
来自:Prev 1 2 3 Next
收件人:Page 1 of 2 -->
我当前的代码如下所示:
if( ! function_exists( \'my_pagination\' ) ) {
function my_pagination() {
global $wp_query;
$big = 999999999; // This needs to be an unlikely integer
$paginate_links = paginate_links( array(
\'base\' => str_replace( $big, \'%#%\', get_pagenum_link($big) ),
\'current\' => max( 1, get_query_var(\'paged\') ),
\'total\' => $wp_query->max_num_pages,
\'mid_size\' => 0,
\'prev_next\' => True,
\'prev_text\' => __(\'<span class="fa fa-long-arrow-left" aria-hidden="true"></span>\'),
\'next_text\' => __(\'<span class="fa fa-long-arrow-right" aria-hidden="true"></span>\'),
\'type\' => \'list\'
) );
if ( $paginate_links ) {
echo \'<div class="pagination">\';
echo $paginate_links;
echo \'</div>\';
}
}
}
也就是说,到目前为止,我在WordPress中处理分页方面还没有太多经验。我想我会让自己变得简单,只需将\\u大小更改为0,然后在前后使用CSS添加
page of
, 像这样:
.pagination li:first-child:before {
content: "Page "
}
.pagination li:first-child:after {
content: " of"
}
但我注意到WordPress正在插入:
<li><span class="page-numbers dots">…</span></li>
因为
\'mid_size\' => 0
, 显然我可以
li:nth(2) { display: none; }
在CSS中。但另一个问题是最后一页的页码是
a href
这也是我不想要的,所以使用所有这些变通方法似乎是一项拙劣的工作,而不是在法典中而不是CSS中进行。我尝试了几种解决方案,但都没有成功。
如何禁用添加:
<span class="page-numbers dots">…</span>
?<a href>
在最后一页的编号上或者您建议我如何继续更改当前阵列
最合适的回答,由SO网友:birgire 整理而成
这里有一个解决方法:
首先更改paginate_links()
输出类型至:
\'type\' => \'array\',
然后,我们可以从
paginate_links()
输出
下面是一个简单的示例,我们以相关类为目标:
$next = \'\';
$current = \'\';
$prev = \'\';
foreach( (array) $paginate_links as $link )
{
if( false !== strpos( $link, \'prev \' ) )
$prev = $link;
elseif( false !== strpos( $link, \' current\' ) )
$current = $link;
elseif( false !== strpos( $link, \'next \' ) )
$next = $link;
}
最后,我们可以根据需要构建输出:
! empty( $current ) && printf(
\'<div class="pagination">%s %s %s %s %d %s</div>\',
$prev,
esc_html__( \'Page\', \'my-domain\' ),
$current,
esc_html__( \'of\', \'my-domain\' ),
$wp_query->max_num_pages,
$next
);