在以前的建站培训课程中,我们说了网站分页都采用网站分页插件 wp-page-numbers 来实现的,但对于不喜欢使用插件的学做网站学员来说,也可以使用无插件纯代码的方法实现网站分页。步骤如下:
第一步:将以下代码放在 faction.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 >";
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 >".$i."</span>":"<a href='".get_pagenum_link($i)."' 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>
";
";
}
}
第二步:在分页代码显示的地方放上以下调用代码。
<?php kriesi_pagination($query_string); ?>
第三步:将以下 CSS 样式放到style.css中。
.pagination{line-height:23px;text-align:center;}
.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;}