Wordpress 与 Qzone 和 Live Space 同步

背景及插件介绍

很多人倾心于 Wordpress 博客平台的灵活性和可定制性,跑到 Wordpress 中来写文章。但这样的话,文章一般只在由评论、Trackback/Pingback 等构成的博客圈内有影响,我们在 QQ、MSN 等即时通讯工具上的朋友就很难看到文章了(大多数人还不会用 RSS)。再者,QQ 和 MSN 对于自家的空间有良好的支持,如果有文章更新的话会有小星星或者小黄花的提示。这样我们如果将文章同步到 Qzone 及 Live Space 上,则可以达到一个推广的效果,可以利用之。

李光明同学写了一个 Post2qzone 插件,用来将 Wordpress 中发布的文章同步到 Qzone 中。插件的原理比较容量理解。Qzone 和 Live Space 都支持邮件发布的功能。也就是说,可以通过发邮件到指定的邮箱来更新你的 Qzone 和 Live Space。但由于 Qzone 的邮件发布只接受从 QQ Mail 寄来的邮件,这就要求必须使用 QQ 邮箱的 SMTP 服务向 Qzone 的指定邮箱发信以同步更新 Qzone。 Live Space 的要求则宽松一些,可以自行设置发信的邮箱地址。

安装和设置

在安装前,首要先确认你的空间支持 socket 功能。没有此功能将无法使用 SMTP 服务来发送邮件,也就无法实现发布文章时同步更新。在 PHP 中调用 phpinfo() 函数,输出信息中有一个“Sockets support”,支持的话显示为 Enabled。

接下来是开通 QQ 空间、QQ 邮箱。登录到 QQ 邮箱,进入“设置”->“账户”,勾选“开启POP3/SMTP服务”,然后保存更改。这样就打开了 QQ 邮箱的 SMTP 功能。

然后下载 post2qzone.php,上传到 Wordpress 插件目录,然后从插件面板启用此插件。在“设置”中有一个“Post2qzone”的页面。在此页面中设置你的 QQ 号、邮箱密码、邮件标题和邮件正文模板。

设置完成以后邮件同步发布应该就可以实现了。记得在 Wordpress 中发布文章的时候,要在页面的“Post to qzone”选项中中勾选“Confirm publish”才会同步。临时不需要同步功能,可以去掉这个选项。

优化与提高

说了半天都是在说 Qzone 的事情,如何同时同步到 Live Space 呢?首先要在 Live Space 中启动邮件发布功能。登录到 Live Space,选择“选项”->“邮件发布”,在第一步中填入qq邮箱的地址;第二步中自己编造一个 secret word ,第四步中选择“立即发布”。然后直接用文本编辑器打开 post2qzone.php 插件文件,在 function Halo() 下面添加一行代码,就可以同时更新到 Live Space 上。

	function Halo($subject,$body){
		// BLOGNAME 替换为你的 Live Space 名称。比如网址 blogtest.spaces.live.com ,那么 BLOGNAME 就是 blogtest
		// SECRET 替换为 Live Space 设置中自己设定的单词,不要公开
		$this->AddAddress("BLOGNAME.SECRET@spaces.live.com","BLOGNAME.SECRET@spaces.live.com");
		$this->AddAddress("{$this->qq}@qzone.qq.com", "{$this->qq}@qzone.qq.com");
		$this->Subject = $subject;
		$this->Body	= $body;
		return $this->Send();
	}

添加好此代码以后,就可以同时通过邮件来更新 Qzone 和 LiveSpace 了。

由于此插件默认输出的是全文,为了增加自己博客的访问量,可以在插件中只输出摘要,同时给出原文链接。示意图如图所示。 

Live Space 输出摘要

Live Space 输出摘要

怎么改我就不详细说了,无非是借用了 Advanced Excerpt 插件的处理思路来输出指定长度的摘要。我的 post2qzone 插件文章内容模板是这么写的,如下列出作为参考,摘要的效果可以在我的Live Space 上看到。

〖原文发表于<a href=\”http://blog.xiaoding.org\” target=\”_blank\”>我的部落格</a> http://blog.xiaoding.org 〗<br /><br />
{post_content}<br /><a href=\”{post_link}\”>阅读原文»</a> 

这儿是修改好的 post2qzone 插件的下载。使用到了 mb_substr() 函数,不支持此函数的同学请自行依靠 Google 解决……

如果同意“自担使用风险”,你可以点击下载Post2qzone修改版 (谢绝迅雷等工具)

Close
May 11th, 2009 Add a comment
Home » 爱生活,爱折腾 » Wordpress 与 Qzone 和 Live Space 同步
Comments (67) Trackback Leave a comment
  1. December 27th, 2009 at 15:31 | #61

    值得使用的东西,非常感谢,博主也能发我一份输出摘要的Post2qzone 插件吗? :smile:

  2. December 27th, 2009 at 16:09 | #62

    Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.qq.com:25 (Connection timed out) in /home/coovenc/public_html/wp-includes/class-smtp.php on line 122

    Warning: Cannot modify header information – headers already sent by (output started at /home/coovenc/public_html/wp-includes/class-smtp.php:122) in /home/coovenc/public_html/wp-includes/pluggable.php on line 868

    发送时出现这样的错误代码

  3. December 27th, 2009 at 16:20 | #63

    @云空间
    已经发送,请查收。

    @cooven
    看样子是你的主机提供商有限制,不让你连接到其它机器的25端口。可能是为了防止主机使用者滥发垃圾邮件才这样做的。具体的情况请与你的主机提供商联系。

  4. December 27th, 2009 at 16:24 | #64

    @xiaoding
    插件已经收到了,再次感谢,待会去试试 :razz:

  5. December 27th, 2009 at 16:29 | #65

    收到了,感谢你的提示

  6. January 15th, 2010 at 21:36 | #66

    写的很好,我用了可以了,谢谢你的那个个性化的内容发布,谢谢,能否交换链接,我已经添加了 :smile:

  7. January 16th, 2010 at 15:40 | #67

    @leeawan
    不必客气。 链接已添加 :-)

Comment pages
1 2 3 4
Comments rss
emoticons
提示: 回复作者请直接填写评论。要回复其它人,请点击此人评论右侧的“回复小箭头”,再继续填写评论。你的评论将会被自动发送给此人。
Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
Trackbacks (6 ) Detail Trackback