很久都没有折腾过 WP 了,这次升级之前我一直都在用 2.3.2 的版本。每次进入后台,系统总提示我使用的 WordPress 2.3.2 不是最新版本,催促我升级。其实不是我不愿意升级,身处万恶的教育网,不能访问国外网,实在是无能为力呀。
终于,利用上个周末去女友那里的空闲时间,用 ADSL 下载了最新版的 WP,升级到了 2.5-RC1。升级过程很顺利,升级后的感觉也很不错,所有我正在使用的插件升级到最新版后均能正常工作。
WP2.5 最大的改动就是后台了,导航和之前的版本相比变化很大,需要一段时间来适应。配色以淡蓝色为主,比较清新,Jiang说2.5的后台有两种配色方案可以选择,不过我没有找到在哪里设置。WP 2.5 中我最满意的就是一键升级插件功能了,我用教育网,那些插件的主页几乎都无法访问,所以每次升级都是个问题。现在方便多了,新的插件管理中只需要输入 ftp 的主机名和密码就可以一键升级了。
WP2.5 中还集成了 Gravatar 的头像服务。原来我一直在用 MyAvatars 这个插件,它使用的是 MyBlogLog.com 的头像服务,现在既然有了原生的头像,就可以停掉这个了。要显示 Gravatar 的头像,只需要在评论模板(comments.php)中适当的位置加入这行代码即可:
<?php if (function_exists(’get_avatar’)) { echo get_avatar(get_comment_author_email(),’32′); } ?>
其中第二个参数 32 表示了输出的头像的大小,即 32px * 32px 的。
另外我又启用了一个新的插件,叫 Wordpress Thread Comment ,它可以改变传统的 WP 评论模式,允许嵌套回复评论,效果很不错,并且可以和我正在使用的 AJAX Edit Comments 一起使用,欢迎朋友们留言测试。非常感谢这款插件的作者偶爱偶家。只是现在 Ajax 回复评论还有些问题(禁用掉 AJAX Edit Comments 也不行),可能是我的评论页面不够标准,我得再研究研究。
今天看到 Wordpress2.3.2 正式版发布了,2.3.2主要更新如下(来自 我爱水煮鱼):
这个新版本更正了之前版本中的7处bug,其中一个比较严重的会泄漏你的草稿文档的bug。同时,2.3.2还更正了一些可能会泄漏你的数据库表结构的错误信息,并限制和停止了在 XML-RPC 和 APP 进行过程中的一些信息泄漏。
可以看出这一次发布的新版本更新比较少,更正的bug和错误基本都集中在信息泄漏这一环节。
一个比较实用的更新是,在 2.3.2 版本中,你可以在 wp-content/db-error.php 中自定义数据库连接错误的信息。当 WP 连接数据库出现错误时,将会采用这个自定义错误信息取代默认的错误信息。
既然涉及到安全问题,当然毫不犹豫的升级啦。相对于 WP2.3.1,2.3.2修改了以下16个文件,2.3.1版本的用户只需要更新这16个文件即可完成升级:(来自 WordPress trac)
- tags/2.3.2/wp-includes/query.php
- tags/2.3.2/wp-includes/wp-db.php
- tags/2.3.2/wp-includes/formatting.php
- tags/2.3.2/wp-includes/taxonomy.php
- tags/2.3.2/wp-includes/post.php
- tags/2.3.2/wp-includes/version.php
- tags/2.3.2/wp-includes/pluggable.php
- tags/2.3.2/wp-includes/functions.php
- tags/2.3.2/wp-app.php
- tags/2.3.2/xmlrpc.php
- tags/2.3.2/wp-mail.php
- tags/2.3.2/wp-settings.php
- tags/2.3.2/wp-admin/includes/file.php
- tags/2.3.2/wp-admin/admin.php
- tags/2.3.2/wp-admin/setup-config.php
- tags/2.3.2/wp-admin/install.php
WordPress2.3.1 简体中文版下载地址:http://code.google.com/p/wpcn/downloads/list。
Wordpress 的执行效率一直为人们所不满,我也觉得这是 Wordpress 的唯一比较明显的缺点。我不怎么懂 PHP,对于 Wordpress 的底层结构和数据库查询操作也不很了解,但是,我可以通过修改 Wordpress 的主题(或者叫模版)来实现一些 WP 的优化。本文参考了博客学堂的《Wordpress性能优化入门》,适用于 WP 新手,高手请略过。
WP 模板的设计者一般都会在模板中大量使用 WP 提供的函数来兼容每个用户,但对于我们用户来说,完全没有必要这样,可以通过修改模板,把这些函数更改为静态的内容。从而既减少了页面生成时间,又降低了服务器的负担,何乐而不为?
从头到脚修改,先看 header.php,不出意外的话,一般的模板 <head> 中都会有以下代码:
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
页面的编码我们一般都使用 UTF-8,所以,以许许如生为例,我可以把它改为对应的如下静态 HTML 代码:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="http://www.helloxudan.net/wp-content/themes/coolblue/style.css" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="许许如生 RSS Feed" href="http://feed.helloxudan.net" />
<link rel="pingback" href="http://www.helloxudan.net/xmlrpc.php" />
当然,也可以把 <div id=”header”> 中的
<h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
修改为:
<h1><a href="http://www.helloxudan.net">许许如生</a></h1>
至于 description 中的内容,如果你经常改动的话不建议改为静态。
然后是 index.php,这里的内容一般都是动态的,不需要做什么改动。如果你的页面中需要显示作者的名字(<?php the_author(); ?>),可以直接替换为名字,可能也需要在 single.php 中做同样的修改。
下面是 sidebar.php,如果你和我一样喜欢修改 sidebar.php 文件来调整侧栏的话,可以直接把 php 中的打印语句直接修改为内容。例如:<h2><?php _e(’Categories’); ?></h2> 可以直接改为 <h2>Categories</h2> 。每个人的侧栏都不相同,其他的地方就根据自己的需要修改了。
footer.php 中,如果出现了 blog 的名字(<?php bloginfo(’name’); ?>),RSS 地址(<?php bloginfo(’rss2_url’); ?>)等,也都可以替换为相应的静态内容。
到这里,WP 模板优化已经基本完成了,我已经把大部分能修改为静态的内容都修改了,再进一步就要动用静态化插件了。WP 的优化是一项比较复杂的任务,优化模板只是很小的一部分,继续学习高深的东西吧。
Wordpress2.3 对 tag 的支持是它的重要新特性之一,这个特性可以使 wordpress2.3 成为 wordpress 历史上一个具有里程碑意义的版本。
但是我在使用 tag 的时候遇到了一些问题:tag 云和 tag 管理。
1、tag 云。
我们都知道使用<?php wp_tag_cloud(); ?>这个函数来调用 tag 云,但是我发现我的 tag 云中的 tag 数目很少,后来查了一些资料解决了这个问题。
<?php wp_tag_cloud(); ?>函数是通过几个参数来控制它的输出形式的,这些参数是:
- smallest——设定 tag cloud输出的最小字号,默认值为‘8’。
- largest——设定 tag cloud输出的最大字号,默认值为‘22’。
- unit——设定 tag cloud输出字号的单位,默认值为‘pt’。
- number——设定 tag cloud输出 tag 的数量,默认值为‘45’。
- format——参数‘Flat’将会以平铺的形式输出 tag 并且用空格将 tag 分隔开;参数‘List’将会输出一组无序的 tag 列表;参数‘Array’将允许你定义一组 tag 排列;默认值为‘Flat’。
- orderby——将会以‘name’或‘count’对 tag 进行排列,默认值为‘name’。
- order——定义 tag 以‘ASC’升序或‘DESC’除序进行排列,默认值为‘ASC’。
number 的默认值是45,所以 tag 没有能够全部显示出来,这就是原因所在。修改 tag 云的调用函数为<?php wp_tag_cloud(’number=200′); ?>就可以显示200个 tag 了。参数之间使用“&”连接。例如:<?php wp_tag_cloud(’number=200&order=DESC’); ?>可以用降序的方式显示200个 tag。
2、tag 管理。
不知道为什么 wordpress 的开发团队没有开发 tag 管理功能,想要删除一个 tag 只能在文章编辑中删除,如果这个 tag 被多篇文章所用,那就更麻烦了。因此,很需要一个有 UTW 那样的 tag 管理功能的插件。
我推荐使用 Tag Managing Thing,这是 UTW 的作者为 WP2.3 开发的一个 tag 管理插件。它可以对 tag 进行删除、分开或者合并操作,并且可以为 tag 编辑一个缩略名,就像 WP 每篇文章的永久链接一样,这对于中文 tag 来说是一个很实用的功能。
@2007-12-10 更新:现在使用 Simple Tags 作为 tag 管理插件,该插件的作者是原 simple tagging 插件的作者,simple tags 包含 tag 管理,相关文章,feed 相关文章,彩色 tag 云等强大的功能,强烈推荐使用。
我一直使用 WLW(Windows Live Writer)离线写 blog,blog 更新到 Wordpress2.3 之后,如何让 WLW 支持原生的 WP tag 一直都没有解决。今天在吼吼那里找到了解决办法如下:
- 下载 wlwmanifest.xml;
- 把 wlwmanifest.xml 上传到你的 WP 根目录;
- 在 WLW 中选择“博客—编辑博客设置—更新帐户配置”;
更新完毕之后,在 WLW 下部的属性栏中就会出现一个输入关键字的区域,如下图:

这个区域就是 WP2.3 的 tag,写日志的时候把 tag 写在这里即可,多个 tag 之间用半角逗号分隔。