更改分页列表类

时间:2013-12-11 作者:Sodbileg Gansukh

paginate_links() 函数返回名为“页码”的类的无序列表。我怎样才能改变这门课?

编辑

目前,我正在使用下面的创可贴方法。

$return = paginate_links( $arg );
echo str_replace( "<ul class=\'page-numbers\'>", \'<ul class="pagination">\', $return );
有没有更好的办法?

4 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

paginate_links() 不提供参数,也没有挂钩-请参阅source - 可用于更改类别。这意味着您可以像以前一样进行分页,也可以根据paginate_links().

SO网友:Aamer Shahzad

我也在寻找同样的解决方案,将其用于引导分页链接,

下面的代码在我的主题中百分之百起作用。

function bittersweet_pagination() {

global $wp_query;

if ( $wp_query->max_num_pages <= 1 ) return; 

$big = 999999999; // need an unlikely integer

$pages = paginate_links( array(
        \'base\' => str_replace( $big, \'%#%\', esc_url( get_pagenum_link( $big ) ) ),
        \'format\' => \'?paged=%#%\',
        \'current\' => max( 1, get_query_var(\'paged\') ),
        \'total\' => $wp_query->max_num_pages,
        \'type\'  => \'array\',
    ) );
    if( is_array( $pages ) ) {
        $paged = ( get_query_var(\'paged\') == 0 ) ? 1 : get_query_var(\'paged\');
        echo \'<div class="pagination-wrap"><ul class="pagination">\';
        foreach ( $pages as $page ) {
                echo "<li>$page</li>";
        }
       echo \'</ul></div>\';
        }
}
使用函数调用索引。php,例如;<?php bittersweet_pagination(); ?> 或任何其他文件。我还覆盖了一些引导样式,这可能会对您有所帮助。

.pagination-wrap {
    clear: both;
    display: block;
    overflow: hidden;
    text-align: center;
}
.pagination-wrap .pagination {
    margin-bottom: 0;
    margin-top: 0;
}
.pagination-wrap .pagination > li:first-child > a, 
.pagination-wrap .pagination > li:first-child > span {
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;
}
.pagination-wrap .pagination > li:last-child > a, 
.pagination-wrap .pagination > li:last-child > span {
    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px;
}
.pagination-wrap .pagination > li > a,
.pagination-wrap .pagination > li > span {
    background-color: #4FBEBA;
    border: 1px solid #1BA5A0;
    padding: 10px 15px;
    font-weight: bold;
    color: #FFFFFF;
}
.pagination-wrap .pagination > li > a:hover, 
.pagination-wrap .pagination > li > span:hover, 
.pagination-wrap .pagination > li > a:focus, 
.pagination-wrap .pagination > li > span:focus {
    background-color: #1BA5A0;
    border-color: #189690;
}
.pagination-wrap .pagination .current {
    background-color: #1BA5A0;
    border-color: #189690;
}
.pagination-wrap .pagination .current:hover,
.pagination-wrap .pagination .current span:hover {
    background-color: #189690;
    border-color: #148781;
}

SO网友:bhavesh vala

为此,需要使用类型参数

$links = paginate_links( array(
    \'base\' => str_replace( $big, \'%#%\', esc_url( get_pagenum_link( $big ) ) ),
    \'format\' => \'?paged=%#%\',
    \'current\' => max( 1, get_query_var(\'paged\') ),
    \'total\' => $posts_array->max_num_pages,
    \'prev_text\'          => __( \'Previous page\', \'twentyfifteen\' ),
    \'next_text\'          => __( \'Next page\', \'twentyfifteen\' ),
    \'type\' => \'list\'
) );
   echo $links

SO网友:Shaun Cockerill

这里没有提到的另一个选项是将样式复制到WordPress分页类,而不是更改分配给元素的类。

如果您使用引导并将所有内容与sass捆绑在一起,那么您可以使用@extend 指令。

ul.page-numbers {
    @extend .pagination;
    > li {
        > a, > span {
            &.page-numbers {
                @extend .page-link
                &:focus, :hover {
                    /* Additional hover/focus styles here */
                }
            }
        }
    }
}
这可能与某些情况有关,但我觉得原始问题中的代码是大多数应用程序的最佳解决方案。

结束

相关推荐

Pagination for event query

我正在使用Modern Tribe Events Calendar我的问题是分页。这是对WP\\U查询分页的错误方式,还是有其他方法可以对事件日历分页?我找到了一个tutorial 这使用了WPNavi插件,但我想使用核心wordpress函数。<?php $upcoming = new WP_Query(); $upcoming->query( array( \'post_type\'=> \'tribe_events\', \'eve