【WordPress】如何给 WP 增加单篇文章的分页功能

目前的 WordPress 虽然内核早已支持文章分页功能,但后台编辑器的分页按钮一直被注释掉,包括官方附带模板在内的绝大多数模板也并不支持文章分页功能。这里提供一些代码帮助你修改模板使你的 WordPress 前端支持单文章分页符的显示,后台编辑器上也添加分页符添加按钮等功能,而重要的是不涉及 WordPress 核心代码,未来升级 WordPress 将不需要修改这些代码……

一、首先是为后台的管理页面添加一个 JavaScript 的入口,代码添加于主题的 functions.php 文件中:

if(is_admin()){
	wp_enqueue_script('admins', WP_CONTENT_URL.'/.../jquery.admin.dev.js', array('jquery'), '0.0.9', true);
}

其实直接添加后面的 js 代码到管理页底部也可以,但为了以后为后台管理页添加 js 的方便,还是单独放一个文件吧。这里用到了 WordPress 中用来引入 JavaScript 的 wp_enqueue_script 函数和判断是否是管理页面的 is_admin 函数。

二、然后是为文章 HTML 编辑器添加 nextpage 按钮,代码添加到上面引入的 admin.dev.js 文件中:

if(anyBar = document.getElementById("ed_toolbar")){
	var barSize = edButtons.length; var barLast = anyBar.lastChild;
	edButtons[edButtons.length] = new edButton("ed_next","page","","","n");
	while( barLast.nodeType != 1 ){ barLast = barLast.previousSibling; }
	barLast = barLast.cloneNode(true);
	barLast.id = "ed_pag"; barLast._idx = barSize; barLast.value = "PAGE"; barLast.title = "";
	barLast.onclick = function(){ edInsertTag(edCanvas, this._idx); return false; }
	anyBar.appendChild(barLast);
}

其实打开 wp-includes 里面 js 目录下的 quicktags.dev.js 会发现里面原本已经有 nextpage 按钮的代码但被注释了,约在 130 行左右,上面用到了一些现成的接口,会把一个 nextpage 按钮添加到 HTML 编辑器的最后面,这样可以在 HTML 编辑器模式非常方便的插入用于分页的 nextpage 标记。上面代码中的 nextpage 按钮两边的空格是为了防止 WordPress 文章输出为注释加的,实际应用时需要删掉。

三、最后是为分页链接提供显示位置,修改模板文件在文章内容输出的后面添加代码,通常是 index.php 中的 the_content 函数输出内容之后,添加一个 wp_link_pages 函数即可,具体的一些函数参数可从 WordPress 网站参考。

【WordPress】如何给 WP 增加单篇文章的分页功能》上有2条评论

  1. momo

    有没有具体的操作步骤,最好是傻瓜式的教程,因为php只是初学,很多找不到地方。还是麻烦完善一下。

评论已关闭。