开始想建独立博客的时候,计划自己开发,后来发现有一套现成的国产博客程序emlog做得非常棒,于是我就省力了 我的博客使用的是emlog 4.0.1版本,很好用。

  emlog的4.1新版仍然没有文章分页功能,而刚好我的文章都比较长,用户阅读起来体验可能不太好,自己动手,丰衣足食,昨天花了一点时间修改完善了一下。我这里把增加分页的方法分享出来,给有需要的朋友参考。

  PS:我没有去研究官方的插件开发文档,所以是直接对文件做出修改,而非挂载插件即可实现功能,仅供有迫切需求的朋友使用。

  改动涉及三个文件,分别为:

  • /include/lib/option.php
  • /content/templates/{你自己的模版}/module.php
  • /content/templates/{你自己的模版}/echo_log.php
  

  option.php修改如下:

    将第65行的
    'reg_0' => '|^.*/\?(post)=(\d+)$|',
    修改为
    //'reg_0' => '|^.*/\?(post)=(\d+)$|',
    'reg_0' => '|^.*/\?(post)=(\d+)(&(p)=(\d+))?$|',

  module.php修改如下:

    在文件末行增加如下代码
    <?php
    //内容页分页
    function articlePage($aid,$aP,$aCount) {
     $articlePage = '<div class="nav" style="padding:15px 0 30px 0"><div class="wp-pagenavi">';
     $articlePage .= "\n";
      for ($p=0;$p<$aCount;$p++) {
       if ($p == 0 && $aP == 0) $articlePage .= '<span title="当前第1页">1</span>';
       else if ($p == 0) $articlePage .= '<a href="//www.jack-liu.com/post-'.$aid.'.html" title="转到第1页">1</a>';
       else if ($p == $aP) $articlePage .= '<span title="当前第'.($p+1).'页">'.($p+1).'</span></li>';
       else $articlePage .= '<a href="//www.jack-liu.com/?post='.$aid.'&p='.$p.'" title="转到第'.($p+1).'页">'.($p+1).'</a>';
       $articlePage .= "\n";
      }
     $articlePage .= '</div></div>';
    return $articlePage;
    }
    ?>

  echo_log.php修改如下:

    搜索
    <?php echo $log_content; ?>
    将其替换成如下代码:
    <?php
    //内容分页
      $p = $_GET["p"];
      $aArr = split('\-\|\-',stripslashes($log_content));
      $aCount = count($aArr);
      if ($aCount>1){
         if ($p>0){
            echo $aArr[$p].articlePage($logid,$p,$aCount);
         }else{
            echo $aArr[0].articlePage($logid,0,$aCount);
         }
       }else{
         echo $log_content;
       } 
    ?>

  最后是翻页按钮的CSS样式,在自己模版目录下的main.css中增加如下部分:

    .nav {
    overflow:hidden;
    text-align:center;
    margin:4px auto;
    padding:4px 0;
    } .wp-pagenavi {
    clear:both;
    } .wp-pagenavi span {
    text-decoration:none;
    border:1px solid #7a0000;
    color:#7a0000;
    margin:2px;
    padding:3px 5px;
    } .wp-pagenavi a {
    text-decoration:none;
    border:1px solid #BFBFBF;
    margin:2px;
    padding:3px 5px;
    }

  使用方法很简单,后台编辑文章的时候,在需要分页的地方插入 -|- 即可,OVER~~

  转载请注明来源于Jack Liu博客,本文地址://www.jack-liu.com/post-97.html