注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

背归鸿

博闻强记,厚积薄发!

 
 
 

日志

 
 

wordpress分类页分页实现方法:  

2013-08-09 19:34:14|  分类: wordpress |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
wordpress默认翻页功能很弱,一页页翻,弄到你手麻,所以类似wp-pagenavi翻页插件,几乎是WordPress博客必装的插件,也是普及率很高的一款插 件。虽然网上有如何把wp-pagenavi插件集成到wordpress主题的教程,但wp-pagenavi插件函数代码拖沓,只是变相启用插件而 已,并没有真正脱离wp-pagenavi插件。下面一段轻量级的函数,加上寥寥数行CSS样式就可以完全替代分页插件了。
wordpress分类页分页实现方法: - 梁天 - 背归鸿
 分类页分页实现方法:

首先将下面一段函数代码添加到主题的functions.php模板文件中:

function kriesi_pagination($query_string){
 
   global $posts_per_page, $paged;
    $my_query = new WP_Query($query_string ."&posts_per_page=-1");
    $total_posts = $my_query->post_count;
    if(empty($paged))$paged = 1;
    $prev = $paged - 1;
    $next = $paged + 1;
    $range = 2; // only edit this if you want to show more page-links
    $showitems = ($range * 2)+1;
    $pages = ceil($total_posts/$posts_per_page);
    if(1 != $pages){
        echo "<div class='pagination'>";
        echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "<a href='http://gaoke0820.blog.163.com/".get_pagenum_link(1)."'>最前</a>":"";
        echo ($paged > 1 && $showitems < $pages)? "<a href='http://gaoke0820.blog.163.com/".get_pagenum_link($prev)."'>上一页</a>":"";
       
        for ($i=1; $i <= $pages; $i++){
            if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
                echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='http://gaoke0820.blog.163.com/".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
            }
        }

        echo ($paged < $pages && $showitems < $pages) ? "<a href='http://gaoke0820.blog.163.com/".get_pagenum_link($next)."'>下一页</a>" :"";
        echo ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='http://gaoke0820.blog.163.com/".get_pagenum_link($pages)."'>最后</a>":"";
        echo "</div>\n";
    }
}

    接下来用下面的代码替换原来模板中默认翻页代码或分页插件代码:

    <?php kriesi_pagination($query_string); ?>

    最后再把下面的样式代码添加到style.css中,刷新一下页面,与使用插件实现的翻页效果一样。

    .pagination{
        line-height:23px;
    }

    .pagination span, .pagination a{
        font-size:12px;
        margin: 2px 6px 2px 0;
        background:#fff;
        border:1px solid #e5e5e5;
        color:#787878;
        padding:2px 5px 2px 5px;
        text-decoration:none;
    }

    .pagination a:hover{
        background: #8391A7;
        border:1px solid #fff;
        color:#fff;
    }

    .pagination .current{
        background: #fff;
        border:1px solid #8d8d8d;
        color:#393939;
        font-size:12px;
        padding:2px 5px 2px 5px;
    }

  评论这张
 
阅读(265)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017