WordPress分页代码的分析
大家可以看到首页下面的分页代码,那么它到底是怎么实现的呢,接下来就分享下它的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | // fanye daima 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 = 5; // 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)."'>最前</a>":""; echo ($paged > 1 && $showitems < $pages)? "<a href='".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='".get_pagenum_link($i)."' class='inactive' >".$i."</a>"; } } echo ($paged < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($next)."'>下一页</a>" :""; echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($pages)."'>最后</a>":""; echo "</div>\n"; } } |
上面都有注释,其中,range的大小需要读者根据自己的需要修改。
本文出自 TENNFY博客,转载时请注明出处及相应链接。
本文永久链接: https://www.tennfy.com/268.html