站长资源
中国站长网站

实现wordpress分页的几种方法

wordpress内置了很多分页的函数,我可以通过传参很方便的就完成分页功能,只要你有一些css的基础,很容易就可以实现各式各样的分页样式,我们来看看有哪些

一、paginate_links()

例:

<?php echo paginate_links(array(
    'prev_next'          => 0,
    'before_page_number' => '',
    'mid_size'           => 2,
));?>

二、the_posts_pagination()

例:

<?php 
the_posts_pagination( array(
'mid_size' => 3,
'prev_text' =>'上一页',
'next_text' =>'下一页',
'before_page_number' => '<span class="meta-nav screen-reader-text">第 </span>',
'after_page_number' => '<span class="meta-nav screen-reader-text"> 页</span>',
) ); 
?>

三、自定义函数,把以下代码放入主题目录functions.php中

// 分页代码
function par_pagenavi($range = 3){
    global $paged, $wp_query;
    if ( !$max_page ) {$max_page = $wp_query->max_num_pages;}
    if($max_page > 1){if(!$paged){$paged = 1;}
    if($paged != 1){echo "<a href='" . get_pagenum_link(1) . "' class='extend' title='跳转到首页'>?</a>";}
    if($max_page > $range){
        if($paged < $range){for($i = 1; $i <= ($range + 1); $i++){echo "<a href='" . get_pagenum_link($i) ."'";
        if($i==$paged)echo " class='current'";echo ">$i</a>";}}
    elseif($paged >= ($max_page - ceil(($range/2)))){
        for($i = $max_page - $range; $i <= $max_page; $i++){echo "<a href='" . get_pagenum_link($i) ."'";
        if($i==$paged)echo " class='current'";echo ">$i</a>";}}
    elseif($paged >= $range && $paged < ($max_page - ceil(($range/2)))){
        for($i = ($paged - ceil($range/2)); $i <= ($paged + ceil(($range/2))); $i++){echo "<a href='" . get_pagenum_link($i) ."'";if($i==$paged) echo " class='current'";echo ">$i</a>";}}}
    else{for($i = 1; $i <= $max_page; $i++){echo "<a href='" . get_pagenum_link($i) ."'";
    if($i==$paged)echo " class='current'";echo ">$i</a>";}}
    next_posts_link(' ?');
}
}

模板中调用方法:

<div id="page"><?php par_pagenavi(5); ?></div>

附带一点css样式仅供参考:

#page{width:100%;height:36px;line-height:36px;text-align:left;overflow:hidden;margin-left:auto;margin-right:auto;display:block;text-align:-moz-center;*text-align:center;text-align:center}
#page a{text-decoration:none;color:#FFF;background:#282828;display:inline-block;padding:9px 12px;margin:0 5px 0 0;line-height:16px;margin-right:3px}
#page a:hover,#page a.current{color:#FFF;background:#32a5e7}

本文出处:来自互联网信息共享,请勿相信收费信息站长资源 » 实现wordpress分页的几种方法

评论 抢沙发

评论前必须登录!