WordPress 2.2 中三个开发者喜欢的特性
在新发布的 WordPress 2.2 中,内置 Widget 支持可能吸引了大部分人的注意。这里所讲的三点对 WordPress 插件和主题开发者也是非常有用的。
-
你现在可以在 wp-config.php 文件中设置你的站点的 “home” 和 “siteurl” 的值
假设实际的站点和一个镜像的开发站点。在 2.2 之前,如果你想从一个拷贝数据库到另一个,你需要在数据库中去修改 URL,你现在可以在 wp-config.php 文件中设置你的站点的 “home” 和 “siteurl” 的值。
define('WP_HOME', 'http://www.fairyfish.com');
define('WP_SITEURL', 'http://www.fairyfish.com/');这意味着如果你使用不同的 config 文件,你可以轻易地从一个站点迁移数据到另一站点而不需做任何修改,这个让我节省了不少时间。
-
WordPress 现在使用 PHPMailer 收发邮件
PHPMailer 是一个非常好的 mail class。现在可以使用它而不依赖于
wp_mail
函数了(但是你需要手工去导入class-phpmailer.php
和class-smtp.php
着两个文件)。一个最简单使用它的方法就是访问对象 $phpmailer,通过引用调用给“phpmailer_init”的 action hook。举个例子,假设你想在使用
wp_mail
发送的邮件增加附件,你将设立一个回调函数去增加附件,使用 PHPMailer's AddAttachment 方法:function lets_add_an_attachment(&$phpmailer) {
$phpmailer->AddAttachment('/path/to/attachment/picture.jpg');
}然后在回调函数中 hook
add_action('phpmailer_init', 'lets_add_an_attachment');
如果这看起来还不够明了,你应该试试用 PHP 的
mail
功能 (for whichwp_mail
used to be basically just a wrapper) 去发送附件。首先,你需要读取你要附加的文件,编码成 base 64,分割成一块块,然后传递给头部参数,当然要设置正确 Content-Type 和 MIME-Version 和指明分界线。PHPMailer 帮你做了所有的这些头痛的问题。 -
WordPress 现在包含了 jQuery JavaScript 库
WordPress 自从 2.1 版本开始为增加多种管理界面 JS 效果就已经包含了功能丰富的 Prototype 和 Scriptaculous JavaScript 的库。但是现在管理界面正在转化成使用 jQuery。jQuery 优势胜于它已经把很多非常酷的特性打包成非常小的尺寸(19kb)。
虽然现在 jQuery 出现在 2.2 的唯一的地方是新的 Blogger 导入器,你可以在 WordPress 任何页面上使用 jQuery。你所需要去做的是在页面的头部输出之前调用
wp_enqueue_script('jquery');
函数。打包在 WordPress 中的 jQuery 是以“无冲突”模式。所以 jQuery 可以和 Prototype 很好的兼容,否则的话它就会和“$”的函数有冲突。然而正常的情况下你可以在 jQieru 中使用“$”函数,在无冲突的模式下,你既可以直接调用 jQuery 或者创建你自己的别名,如下面:
var wpJ = jQuery.noConflict();
(从这之后,你就可以使用wpJ
代替jQuery
)jQuery 中我最喜欢的特性是它能非常简洁选择 DOM 元素的方法,列入,接下来的代码搜索所有被命名为“S”文本框(如 WordPress 的搜索框),设置他们的值为“Search text”,然后如果点击该输入框就会清除它的值。
jQuery('input[@type="text"][@name="s"]').each(
function() {
jQuery(this).attr('value','Search text');
jQuery(this).focus(function() {jQuery(this).attr('value','')});
}
);是不是一流?
这批篇文章翻译自 WordPress 2.2: Three Things Developers Will Like,如果你对我们的翻译或者这个主题有什么意见,欢迎给我们留言。