WordPress 2.3加入了标签功能,我们可以在撰写文章的时候,在文章编辑框的下方输入一些以“,”分割的标签。这是一个半角的逗号,对于国内的用户来说,经常需要输入中文的标签,这时候中文输入法打出来的是全角的逗号“,”,就必须切换到半角模式或者关闭输入法,再输入一个半角的逗号,输入完了之后还要把输入法切换回来,十分麻烦。目前没有找到任何一种插件可以解决这个问题。当我研究了WordPress的代码之后,发现光写一个插件是不能达到我要的功能的,必须对现有的代码进行一些修改。这是由于WordPress代码本身有一个小小的不完善的地方。下面我给出我的解决方案,希望对大家有用: 找到WordPress安装目录下wp-includes/post.php,打开编辑,将第432行(WordPress 2.3.1版)由原有的: $fields = array(‘post_author’, … , ‘post_category’); 改为 $fields = array(‘post_author’,…, ‘post_category’, ‘tags_input’); 大家可以看到在这个数组的最后添加了一个’tags_input’, 这样修改的原因是:包含这一行的函数 sanitize_post 要对输入的帖子的数据数组进行过滤和转义,这个数组就是告诉 sanitize_post , 帖子数据中有哪些键对应的值需要过滤和转义,正好漏掉了标签对应的键名“tags_input”。另外很有意思的是,我们还能在这一行的上面看到一个 TODO 注释: // TODO: Use array keys instead of hard coded list 也就是说,WordPress的开发团队注意到了这个问题,将来会直接遍历整个数组(或对象)来进行过滤和转义而非使用这样一个列表。 接下来,将我写的以下代码保存为一个php文件,放到wp-content/plugins目录下: <?php /* Plugin Name: Multiple Tag Separator Plugin URI: http://shiningray.cn/2007/12/22/multiple_tags_separator/ Description: use other tags separator instead of the [...]
关于我
- 曹力
- 程序员 / 架构师
- JavaScript高级程序设计译者
- NirvanaStudio精神领袖
版权声明
本 Blog 所有文章若无特别声明都遵循创作共用约定,要求署名、非商业、保持一致。转载时请先阅读以上许可协议,并以超链接形式注明出处。分类目录
-
RSS Links
Blogroll
Nirvana Studio
其他
标签
功能
-
