
WordPress 3.0 增加了一个强大的自定义菜单功能,但美中不足是要实现题图这样包含描述的菜单时,单靠目前 WordPress 的功能还无法实现。本文将教你改变 WordPress 默认的菜单输出,打造更加个性的菜单。
也许你已经知道,当后台出现 Appearance > Menus 这个菜单项的时候,就标明你使用的主题支持 WordPress 3.0 自定义菜单。只需要用 wp_nav_menu() 函数进行调用即可。但问题是 WordPress 输出的菜单 HTML 结构如下:

WordPress 3.0 为了增强 CMS 功能,加入了自定义菜单的功能,除了定义菜单项目外,还可以菜单定义各个项目的 CSS Class。我们可以利用这个功能来为菜单项目添加一个个性图标。
在 WordPress 3.0 的 Appearance(外观)-> Menus(菜单)面板里我们可以看到自定义菜单的设置,首先点击“Creat Menu”,再在左栏勾选需要的菜单项目后点击“Add to Menu”可以把勾选的项目添加到刚才建立的自定义菜单里。这是展开菜单项可以看到相关项目的参数。
在文章内插入的广告具有相当高的点击率。在 WordPress 里,我发现很多人利用 JavaScript 把广告插入到 more 截断标签处,作为内文广告。昨晚我也在内文里放了 Google Adsense,但我是用 WordPress 自带的 add_filter 函数实现的。
打开主题的 function.php ,插入下面的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| /**
* The filter to insert the ads
*/
function bl_insert_ad_code_filter( $content ) {
global $id;
// 只在文章页面显示
if ( !is_single() ) {
return $content;
}
// 首先插入广告代码
$html = '<div class="single_ads">你的广告代码</div>';
// more 标签在 WordPress 2.3 前是一个 a 标签,2.3 后是一个 span 标签
// 保证兼容性
return preg_replace("#\《(a|span) id\=\"more-$id\"\》\《/\\1\》#", $html."$0", $content, 1);
//因为 wp-syntax 插件的问题,请把上一句代码中的书名号替换成“< ”和“>”,“\”换成“\”
return $content;
}
add_filter('the_content', 'bl_insert_ad_code_filter', 50); |
利用这个 filter 我们还可以在文章任意的地方插入广告,或者添加其他的应用,大家可以尽情发挥创意。
WordPress 在编写和修改文章是默认会每隔 60 秒自动保存一次,并且生成一个修订存档,这个设置未必适合每一个人,但后台并没有提供相关的设置。我们可以修改 wp-config.php 里的参数来进行设置。
修改自动保存间隔时间
打开 WordPress 根目录里的 wp-config.php(2.9版本在 wp-settings.php 里),找到以下的代码:
1
| define( 'AUTOSAVE_INTERVAL', 60 ); |
这个常量是 WordPress 自动保存的间隔时间,把 60 修改成你想要的秒数即可。

因为网络上提供的网址分享插件都没有一个能完全符合我的要求的,所以我曾经想自己做一个分享插件。但得益于 WordPress 繁多的插件,我找到了 iBegin Share 这个插件(在官网下载的插件无法正常运行,因此我制作了一个修改版),它已经满足了我大部分的要求。
很多人在换主题时首先做的是修改一下,例如加上自己的站点统计代码,或者加上自己的个性功能等等。如果我们把这些功能都做成一个插件,那样我们在换主题时就可以省很多功夫。这篇文章浅浅睇说一下如何做一个你自己的插件。
首先建一个bolo.php文件,在里面写上下面的代码:
1
2
3
4
5
6
7
8
9
| < ?php
/*
Plugin Name: bolo
Plugin URI: http://imbolo.com
Description: Bolo's custom plugin
Version: 1.0
Author URI: http://blog.imbolo.com
*/
?> |
把这个文件放进一个叫bolo的文件夹里,上传到plugins目录后就可以在后台激活。这就是一个最简单的插件了,什么功能都没有。下面我就加一些功能。
在做我的音乐博客 NoSay.in时我曾经考虑了很多日后进行更新时会遇到的问题,例如:以后我想在首页增加一个快速听歌的功能,因此我在每篇日志里都预先写上了custom field;还有某些对用户体验产生很大影响的插件,以后在更换插件的时候,我如何才能使对用户和我自己的影响降到最低?因此我当时选择了一些使用简便的插件。但昨天我看了wordpress.la的《精通 WordPress简码》后,一个更好的想法诞生了。
Inpad其实是我很久之前就开始构思的一个主题,可是当时做得十分失败。这次发布的Inpad代码已经全部经过重写,并且通过了详细的测试,错漏应该比较少了,就重新发布吧。

对于经常对大量文章进行编辑操作的童鞋来说,最麻烦的事就是修改完一篇文章以后需要保存,退出编辑,再打开下一篇文章进行编辑。
Admin Post Navigation是一款后台插件,在编辑文章的时候会在编辑器上方添加一个链接到上一篇文章和下一篇文章的导航栏,如下图。

最近给我的音乐博客修改主题,在主题发现了一段有趣的函数,可以自由定制Gravatar的默认头像,现在记录一下。
主函数如下,作用是获取Gravatar头像。
Recent Comments