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