使用 WordPress 自定义字段给日志单独加载 JS 脚本
2009年12月11日
我们在介绍一些 Javasctipt 库或者特效的时候,为了能够更加清楚的展示 Javascript 的效果,需要在日志中做演示,这个时候我们需要加载 Javascript 脚本或者 CSS 样式表,比如我上一篇日志:Pluralink:一个链接多个选择,中为了演示 Pluralink 的一个链接显示多个链接效果,就需要在日志中加入 Pluralink 的 Javascript 代码和 CSS 样式表。
但是 WordPress 日志编辑框会对过滤这些 Javascript 脚本,所以我们无法直接把脚本写到日志,如果修改主题,把脚本添加到主题的 header.php 文件中,那么博客所有的页面都会加载这些脚本,这样造成整个博客效率下降。所以这个时候我们可以通过 WordPress 自定义字段某篇的日志单独加载 Javascript 脚本和 CSS 样式表。
假设我们给日志单独加载 Javascript 脚本的自定义字段是 custom_head。那么你首先需要把下面这段代码复制到你主题的 functions.php 文件中,也可以直接当作一个插件,上传到插件目录中,然后在后台激活。
<?php /* Plugin Name: Custom Head Plugin URI: http://fairyfish.net/2009/11/09/custom-head/ Description: 使用自定义字段给某篇的日志单独加载 Javascript 脚本,使用的自定义字段是 custom_head。 Version: 0.1 Author: Denis Author URI: http://wpjam.com/ */ add_action("wp_head","custom_head"); function custom_head(){ if (is_single() || is_page()) { global $post; $custom_head = get_post_meta($post->ID, 'custom_head', true); echo $custom_head; } } ?>
然后在编辑日志的时候,在自定义字段区域,创建一个新的自定义字段,名字为:"custom_head",输入你要单独为这篇日志加载的 Javascript 代码或者 CSS 样式表即可。
如果你想对 WordPress 自定义字段做进一步的,推荐你看这篇关于 WordPress 自定义字段介绍的教程。使用自定义字段来显示日志缩略图是 WordPress 自定义字段最常用的方法。
14 条评论 添加你的评论 →

1. Jinwen | 2009:11:09 - 01:54:08 | #
很好的方法。我是觉得再添加自定义字段也有点麻烦,干脆直接用文章带的一些标签作为激活加载更省事情。
http://www.saywp.com/wordpress/some-lightbox-skill-in-wordpress.html
2. Denis | 2009:11:09 - 02:00:27 | #
某些日志用到的脚本其实只要这篇日志才会用到,所以单独给某篇日志加载脚本貌似只有使用自定义字段这种方法,你的文章中提到的貌似好像不是同一个东西吧?
3. 园子 | 2009:11:09 - 09:14:42 | #
我比较少用到自定义字段这块~
4. Denis | 2009:11:09 - 19:29:27 | #
一般也用不到!
5. crosssyou | 2009:11:09 - 11:00:53 | #
自定义 很少用。学习了
6. Dianso | 2009:11:09 - 12:30:52 | #
自定义字段,基本没怎么用过。。
7. 木木木木木 | 2009:11:09 - 13:19:59 | #
这个好呀!好方法!
竟然评论要登录……
8. Denis | 2009:11:09 - 19:28:49 | #
没有垃圾留言啊,没有垃圾留言!
9. 左岸 | 2009:11:09 - 22:00:51 | #
这个方法比较简洁,我以前都是用建个单独的页面来调试~
10. loren | 2009:12:10 - 21:06:59 | #
这段代码保存为一个PHP文件,然后上传到插件目录,但是WP后台插件管理页面显示不出来,这是为什么?
11. Denis | 2009:12:10 - 22:07:23 | #
加个插件头!
12. loren | 2009:12:11 - 00:39:24 | #
奇怪,你的代码里不是已经有了插件头了么,为啥还是不行,我对比了多个其他插件,看不出差啥,请您指教@@~
13. loren | 2009:12:11 - 00:45:03 | #
Plgin Name: Custom Head
原来是开头的名称少写了一个U,呵呵,已经搞定,多谢
14. Denis | 2009:12:11 - 00:55:38 | #
囧!我也改下!