WordPress 无插件 纯代码实现分页导航
在以前的建站培训课程中,我们说了网站分页都采用网站分页插件wp-page-numbers来实现的,但对于不喜欢使用插件的学做网站学员来说,也可以使用无插件纯代码的方法实现网站分页。
方法/步骤
- 第一步:将以下代码放到自己使用的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='".get_pagenum_link(1)."' rel='external nofollow'>最前</a>":"";
echo ($paged > 1 && $showitems < $pages)? "<a href='".get_pagenum_link($prev)."' rel='external nofollow'>上一页</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='".get_pagenum_link($i)."' class='inactive' rel='external nofollow'>".$i."</a>";
}
}
echo ($paged < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($next)."' rel='external nofollow'>下一页</a>" :"";
echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($pages)."' rel='external nofollow'>最后</a>":"";
echo "</div>\n";
}
} - 第二步:在wordpress分类目录模板(archive.php)中需要显示分页的代码放上下面的调用代码:
<?php kriesi_pagination($query_string); ?>
- 第三步:将以下CSS样式放到自己模板的style.css中。
.pagination{line-height:23px;text-align:center;}
.pagination:after {clear: both;content: ".";display: block;height: 0;font-size: 0;visibility: hidden;}
.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;} - 第四步:在网站后台设置每页显示文章数量,当达到这个数量后,自动分页显示。
通过以上四步的修改,我们在自己做网站时,就可以不使用插件也能做出分页效果了。如果你对wordpress程序不了解,请先学习wordpress入门教程。