WordPress添加简单自动分页

我们在制作 WordPress 主题模板时,经常会用到循环输出文章列表,但是文章列表太多就会有分页的问题,我们…

我们在制作 WordPress 主题模板时,经常会用到循环输出文章列表,但是文章列表太多就会有分页的问题,我们知道 wordpress 默认的只有前一页后一页,没有数字分页的功能,使用这种 WordPress 默认分页访客体验很不友好,下面是一种分页方法,十分好用,今天就分享纯代码实现的一点小小经验给大家。

  1. function get_pagenavi( $range = 4 ) {
  2.  global $paged,$wp_query;
  3.  if ( !$max_page ) {
  4.  $max_page = $wp_query->max_num_pages;
  5.  }
  6.  if( $max_page >1 ) { 
  7.  if( !$paged ){
  8.  $paged = 1;
  9.  }
  10.  echo "<li>"; previous_posts_link('上一页');echo"</li>";
  11.  if ( $max_page >$range ) {
  12.  if( $paged <$range ) {
  13.  for( $i = 1; $i <= ($range +1); $i++ ) {
  14.  echo "<li><a href='".get_pagenum_link($i) ."'";
  15.  if($i==$paged) echo " class='current'";echo ">$i</a></li>";
  16.  }
  17.  }elseif($paged >= ($max_page -ceil(($range/2)))){
  18.  for($i = $max_page -$range;$i <= $max_page;$i++){
  19.  echo "<li><a href='".get_pagenum_link($i) ."'";
  20.  if($i==$paged)echo " class='current'";echo ">$i</a></li>";
  21.  }
  22.  }elseif($paged >= $range &&$paged <($max_page -ceil(($range/2)))){
  23.  for($i = ($paged -ceil($range/2));$i <= ($paged +ceil(($range/2)));$i++){
  24.  echo "<li><a href='".get_pagenum_link($i) ."'";if($i==$paged) echo " class='current'";echo ">$i</a></li>";
  25.  }
  26.  }
  27.  }else{
  28.  for($i = 1;$i <= $max_page;$i++){
  29.  echo "<li><a href='".get_pagenum_link($i) ."'";
  30.  if($i==$paged)echo " class='current'";echo ">$i</a></li>";

将上面的代码放在主题目录下的 function.php 中,在你需要的地方使用下面的代码调用:

  1.  <div class="pagination">
  2.  <ul>
  3.  <?php get_pagenavi();?>
  4.  </ul>
  5.  </div>
类别:WordPress教程

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册