分页是网站或博客中必不可少的功能, wordpress官方也提供了默认的分页调用标签(<? posts_nav_link(); ?> ),但是当我们在wordpress主题开发时,默认分页时常无法满足我们的需求,哪我们就需要自定义分页标签了。具体的自定义分页调用标签方法如下。

function.php文件中添加如下代码

//分页
function lingfeng_pagenavi($range) {
    global $paged,$wp_query;
    if ( !$max_page ) {
        $max_page = $wp_query->max_num_pages;
    }
    if( $max_page >1 ) {
        echo "<ul class='post-pagination text-center'>"; 
        if( !$paged ){
            $paged = 1;
        }
        if( $paged != 1 ) {
            echo "<li><a href='".get_pagenum_link(1) ."' class='extend' title='跳转到首页'>首页</a></li>";
        }
         echo "<li>";
		 previous_posts_link('上一页');
		 echo "</li>";
        if ( $max_page >$range ) {
            if( $paged <$range ) {
                for( $i = 1; $i <= ($range +1); $i++ ) {
                    echo "<li><a href='".get_pagenum_link($i) ."'";
                if($i==$paged) echo " class='page-num'";echo ">$i</a></li>";
                }
            }elseif($paged >= ($max_page -ceil(($range/2)))){
                for($i = $max_page -$range;$i <= $max_page;$i++){
                    echo "<li><a href='".get_pagenum_link($i) ."'";
                    if($i==$paged)echo " class='page-num'";echo ">$i</a></li>";
                    }
                }elseif($paged >= $range &&$paged <($max_page -ceil(($range/2)))){
                  for($i = ($paged -ceil($range/2));$i <= ($paged +ceil(($range/2)));$i++){
                    echo "<li><a href='".get_pagenum_link($i) ."'";if($i==$paged) echo " class='page-num'";echo ">$i</a></li>";
                  }
                }
            }else{
                for($i = 1;$i <= $max_page;$i++){
                    echo "<li><a href='".get_pagenum_link($i) ."'";
                    if($i==$paged)echo " class='page-num'";echo ">$i</a></li>";
                }
            }
		echo "<li>";
        next_posts_link('下一页');
		echo "</li>";
        if($paged != $max_page){
            echo "<li><a href='".get_pagenum_link($max_page) ."' class='extend' title='跳转到最后一页'>尾页</a></li>";
        }
       
        echo "</ul>\n";  
    }
}

模板主题中调用: <? lingfeng_pagenavi(4); ?>    注:4可以为任意数字,代表显示几个分页。

更多推荐