WordPress实现长文章分页功能
在写一篇文章,如果篇幅太长的话,不仅影响来访者的阅读,而且会减慢网页载入的速度,尤其是对于文章图片很多或者是做图片站的童鞋,很有必要实现WordPress长文章分页功能!开溜网今天就把自己收集整理总结的最完美的方法分享给大家~
第一步:添加分页按钮
其实这个功能在昨天的文章《增强WordPress默认编辑器TinyMCE》中已经给出了完美的方法,不管是可视化或者HTML代码下,都可以完美的实现分页按钮的快捷插入功能!在这里开溜网就不再赘述啦~
第二步:添加分页功能
WordPress其实自带分页功能的函数,只是没有调用而已,导致了插入分页按钮也毫无反应,实现方法也很简单,在主题single.php的类似代码后面添加如下代码即可实现简单的分页效果:
<?php wp_link_pages(); ?>
第三步:美化分页效果
添加了简单的分页功能后,分页的效果有点简陋,肯定不是各位童鞋想要的!这就需要我们对分页效果做下美容~
第①小步:把上述分页功能代码替换为如下代码:
<div><?php wp_link_pages(array('before' => '<div class="fenye">分页阅读:', 'after' => '', 'next_or_number' => 'next', 'previouspagelink' => '上一页', 'nextpagelink' => "")); ?> <?php wp_link_pages(array('before' => '', 'after' => '', 'next_or_number' => 'number', 'link_before' =>'<span>', 'link_after'=>'</span>')); ?> <?php wp_link_pages(array('before' => '', 'after' => '</div>', 'next_or_number' => 'next', 'previouspagelink' => '', 'nextpagelink' => "下一页")); ?></div>
第②小步:CSS美化样式
/**页面分页**/
.fenye{text-align:center;margin:0px auto 10px;font-weight:bold}
.fenye span{background-color:#DDDDDD;color:#fff;font-weight: bold;margin:0px 1px;padding:1px 6px;display:inline-block;text-decoration:none;border:1px solid #e0e0e0;}
.fenye a{text-decoration:none;}
.fenye a span{background-color:#F6F6E8;font-weight: normal;color: #000;text-decoration: none;}
.fenye a:hover span{background-color:#DDDDDD;color: #fff;}
第四步:解决分页后文章标题重复对SEO不利的问题
这个应该是很多博主或者站长的困扰吧,避免收录重复,保障了站点内容整体质量的提升,对站点关键词SEO优化是很有帮助的!我们可以给WordPress文章分页添加页码,解决这个问题!形成类似如下的标题:
增强WordPress默认编辑器TinyMCE | 开溜网
增强WordPress默认编辑器TinyMCE-第2页 | 开溜网
增强WordPress默认编辑器TinyMCE-第3页 | 开溜网
实现方法如下:在主题的header.php文件或seo.php中,找到类似<title>……</title>的代码,将其替换为如下的代码即可:
<?php if ( is_single() ) { ?><title><?php echo trim(wp_title('',0)); ?><?php if (get_query_var('page')) { echo '-第'; echo get_query_var('page'); echo '页';}?> | <?php bloginfo('name'); ?></title><?php } ?>
第五步:避免Feed被分页
实现分页功能后,会导致Feed页面的文章被分页,一般只显示第一页的内容,这是很没有必要的!解决方法:打开wp-includes目录下的query.php文件,找到代码(大概在3578行) if ( strpos( $content,'' ) ) { 将其修改为如下代码即可:
if ( strpos( $content, '<!--nextpage-->' ) && (!is_feed()) ) {
第六步:大功告成
我一直在想着这样一个功能:在文章字数大于N个字后的下一个段落开始分页。可惜我不会编程。囧囧
大于N个字数的话,是按照字数来分页的。属于自动分页了。