WordPress

无插件实现 WordPress 单篇文章分页

记得周良很久以前折腾的视觉天城教程网站,主要是一个设计教程网站,用的也是 WordPress。说到教程网站,文章当然会有很多图片,往往一篇文章就长到一个恐怖的程度,并且打开很慢,所以给网站添加一个分页的功能是当务之急!
在网上找了一些教程进行试验,主要都是使用 WordPress 自带隐藏的文章内容分页功能。

下面我们将说下如何显示 WordPress(我只在 WordPress 3.1.1 下面测试过)隐藏的文章内容分页功能:

  1. 找到 wp-includes/js/quicktags.js,在其中找到下面这个代码:
edButtons[edButtons.length]=new edButton(“ed_more”,”more”,”<!–more–>”,””,”t”,-1);

在这个代码的后面加上如下代码:

edButtons[edButtons.length]=new edButton(“ed_next”,”page”,”<!–nextpage–>”,”",”p”,-1);

注:是“ed_next”,不是“ed_netx”。是“–nextpage–”,不是“–netxpage–”,网上很多教程都是拼写错误。

  1. 继续在 wp-includes/js/quicktags.js 中找到如下代码:
j.Buttons[j.Buttons.length]=new edButton(a+”_more”,”more”,”<!–more–>”,”",”t”,-1);

在后面加上如下代码:

j.Buttons[j.Buttons.length]=new edButton(a+”_next”,”page”,”<!–nextpage–>”,”",”p”,-1);

保存 wp-includes/js/quicktags.js

  1. 找到 wp-includes/js/quicktags.dev.js ,找到下面代码
/* edButtons[edButtons.length] = new edButton(‘ed_next’ ,’page’ ,’<!–nextpage–>’ ,” ,’p’ ,-1 ); */

将其注释符号去掉,如下:

edButtons[edButtons.length] = new edButton(‘ed_next’ ,’page’ ,’<!–nextpage–>’ ,” ,’p’ ,-1 );
  1. 找到 wp-admin/includes/post.php ,找到下面代码:
‘link’, ‘unlink’, ‘wp_more’,

在后面添加以下代码:

‘wp_page’,

好了,WordPress 3.1.1 隐藏的文章内容分页功能现在已经显示出来了。如图:(此图标和 more 图标相似)

下面我们还要往当前主题目录下 single.php 里面添加分页函数,找到代码:

<?php the_content(); ?>

在下面添加分页函数:

<?php wp_link_pages(‘before=&after=&next_or_number=number&pagelink=第%页’); ?>

现在你可以添加一个长篇文章来测试效果了。当然了如果你会 CSS,你还可以美化一下效果。 关于函数 wp_link_pages 的用法可以查看 WordPress 官网 http://codex.wordpress.org/Template_Tags/wp_link_pages


此分页功能对搜索引擎不够友好,所以我们还得改造。此方法参照:http://wordpress.org.cn/thread-61875-1-1.html
1.我们找到当前主题目录下的header.php ,在</head>之间加上如下代码:

<?php if ( is_singular() ){ ?> <link rel=”canonical” href=”<?php the_permalink(); ?>” /> <?php } ?>

2.找到当前主题目录下的 header.php,在输出 description 元标记的代码后添加:

<?php if (get_query_var(‘paged’)) { //判断是否为首页 echo ‘第’; echo get_query_var(‘paged’); //页码 echo ‘页’; }?>

此方法可能有些问题,我没有发现有任何改变。

3.避免feed输出也被分页,找到 wp-includes/query.php ,找到代码:

if ( strpos( $content, ‘<!–nextpage–>’ ) ) {

改为:

if ( strpos( $content, ‘<!–nextpage–>’ ) && (!is_feed()) ) {

改造基本完成,有什么问题提出来,大家可以交流下。 今天是国庆节,祝大家节日快乐!

微信扫一扫,分享到朋友圈

无插件实现 WordPress 单篇文章分页
38

你也可能喜欢

38 条评论

  1. 有方法的,过几天修改一下

  2. 有方法的,过几天修改一下

  3. 有没有直接根据字数 自动分页的…

    1. @电脑爱好者 自动没用。不过有个更加简单的方法,过几天写出来。

      1. @周良 其实很多人希望长文章可以实现自动分页,不用手动在文章内一个个添加分页标签。呵呵,我们都在寻找长文章自动分页,怎么到现在没看到您有写出这个自动分页的方法呢?

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

关于周良粥凉

产品经理,现电商从业者;从事过互联网医疗与金融等行业。 / 写了 9 年独立博客,喜恶皆在字里行间。

分类

微信扫一扫

微信扫一扫