2

博客增加了文章分页

 2 years ago
source link: https://www.jack-liu.com/post-97.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

博客增加了文章分页

Jack Liu 25/Oct/11 阅读(7,876) 评论(10)

  开始想建独立博客的时候,计划自己开发,后来发现有一套现成的国产博客程序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

如果你认为我做的这些对你来说是有价值的,并希望我做得更多,以资鼓励将是对我最大的帮助
点此捐赠

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK