WordPress单篇文章分页及Feed全文输出

Wordpress nextpageWordPress内置了单篇文章分页的功能,但不少主题都没有加入相应调用代码和CSS。虽然加入<!–nextpage–>非常简单,不过在WordPress编辑器中有一个现成的按钮会更加方便。默认情况下,文章分页后,Feed的全文输出将只输出<!–nextpage–>截断之前的部分,这个还需要更改WordPress文件。


增加Wordpress编辑器单篇文章分页按钮

这个比较简单,就是更改一下WordPress原文件即可。

  • 找到wp-admin\includes\post.php;
  • WordPress 3.2.1版本中定位到1537行,在'wp_more',后面增'wp_page',

Wordpress分页按钮

这样可视化编辑器里面就有分页按钮了,HTML模式需要更改的地方更多,已经有了可视化模式的按钮就没有必要了再加了。

WordPress 3.3之后

TinyMCE文件控制改为class-wp-editor.php

wp-includes\class-wp-editor.php

WordPress 3.5为第391行。


为主题增加分页调用代码和CSS

<?php wp_link_pages()?>
就是WordPress内置的单篇文章分页调用函数。
如果不需要CSS美化外观,直接在<?php the_content() ?>下方插入即可。

通常没有CSS定义的默认分页外观比较单调,就是一排数字。
所以还是根据自己的主题CSS定义的比较好。

还是在<?php the_content() ?>下方插入

<div class="link_pages"><?php wp_link_pages(); ?></div>

然后在CSS中加入:

.link_pages{padding-top:30px;padding-bottom:10px}
.link_pages a{padding:2px 6px;border:solid 1px #ddd;background:#fff}
.link_pages a:hover{color:#fff;background:#D1CAAF;border-color:#D1CAAF;text-decoration:none}

这个CSS是在借用了艾德的部落格天空的CSS定义修改的。


分页后的Feed全文输出

WordPress默认Feed全文输出会被<!–nextpage–>截断,所以需要修改wp-includes\query.php
Wordpress 3.5版本中定位到3641行,
if ( strpos( $content, '<!--nextpage-->' ) )
改为
if ( strpos( $content, '<!--nextpage-->' ) && (!is_feed()) )

Wordpress分页后Feed全文输出

评论

5 条对“WordPress单篇文章分页及Feed全文输出”的回复

  1. 这个很管用.谢谢提供!

  2. 可惜你的rss不是全文输出,不然我就可以测试一下了。。我的rss中的相关文章也是变化的,目前会匹配新的文章,结果就是有道阅读这二货居然把那微小区别的文章当成了新发布的文章。
    有的网站的rss相关文章我确认是静态的,有的是动态的但却没有事,这是什么情况呢。
    比如我看的善用佳软的feed,http://feed.xbeta.info/
    另外你就在留言这里加入一句邮件通知吧,平时对于没有邮件通知的博客我是一点留言欲望都没有的。。

    1. 沙丘

      RSS里面我没有设置显示相关文章的代码。邮件通知有的,后台有管理员选择是否自动执行。

  3. 请问你的相关文章是静态化的吗?这个只是我自己搞的说法,就是不会再改变的意思。

    1. 沙丘

      不是,是自动抓取同“标签”下最新的5篇文章