ping service就是在博客发表了新日志之后,系统自动通知各大网站博客更新啦,让它们来抓取新内容。在wordpress单人版里面这个叫做update service,在选项里面可以专门设置给哪些网站发,比如Betty装的wp单人版默认会通知这些地址:

http://rpc.pingomatic.com/

http://blogsearch.google.com/ping/RPC2

http://blog.yodao.com/ping/RPC2

http://www.feedsky.com/api/RPC2

http://www.xianguo.com/xmlrpc/ping.php

http://www.zhuaxia.com/rpc/server.php

http://rpc.technorati.com/rpc/ping

基本上包括了国内常用的提供博客搜索、阅读服务的网站。

然而,但是,居然,Wordpress MU里面竟然没有这个选项。据说,WPMU是特意去掉了这个设置,为了“简化界面”!可不是Betty说他,好像界面中其他某些地方更应该简化吧 :? 他们号称Wordpress会自动ping的,无需用户再作设置。但它自动通知的是哪些网站呢?只有http://rpc.pingomatic.com/一个!据说pingomatic会自动再ping其他的网站,但去http://pingomatic.com/网页看看就知道,基本上中文博客界常用的网站是一个都没有。

其实Wordpress MU里也不是完全没有设置ping service的地方,在Site Admin里列出所有blog的地方,每个blog旁边都会有一个小小的edit,点进去看会发现是这个blog所有的设置,基本上包括了每个blog的Settings里的所有内容(所以说MU的界面其实是相当的繁冗的 :? ),甚至可以看到很多插件写入的数据。其中有一项叫ping sites,就是列出要ping的网站的地方,但是,这里的输入框是一个单行文本框,不是一个文本域(TextArea),只能写一行,也就是只能写一个网站,无法写入多个。

这篇文章评论中有人提供了手动修改的办法,不过这种办法需要直接操作数据库,想做的人得有一定的基础知识,新手请谨慎小心,风险自负 :!:

其实要用的也只有一句SQL,在操作数据库的界面比如PhpMyAdmin中使用如下的语句:

update wp_2_options set option_value = 'http://rpc.pingomatic.com/\nhttp://blogsearch.google.com/ping/RPC2'         where option_name = 'ping_sites'

其中,第一行的wp_2_options中的wp是数据库的前缀,是在安装wordpress的时候设定的,如果没改默认值的话就是wp;2是blog的id,是建的第几个blog就是几,这个数字可以在上面所说的edit页面看到。

第二行是要ping的地址,每个地址之间用表示回车的\n分隔,为举例子只用了两个,可以自己添加,所有的地址前后用单引号括起来。

Betty在试的时候,发现经常提示语法错误,其实都是引号的问题,似乎引号的格式有好几种,把引号删了再打一遍往往就好了。

这样弄完之后,数据就写入数据库了。再打开edit页面查看的话,会发现在ping sites那里列出了所有这些网址,而且那个输入框变成了多行的!也就是说,以后可以在这里随意添加通知服务而不必再直接改写数据库了,感动~

如果想让以后新建的blog默认都采取这种设置的话,需要改动Wordpress MU的核心文件,而这个文件的位置在各个MU版本中还不一样。请搜索populate_options 函数,把

add_option('ping_sites', 'http://rpc.pingomatic.com/');

改成

add_option('ping_sites', "http://rpc.pingomatic.com/\nhttp://blogsearch.google.com/ping/RPC2");

这里的地址前后要用双引号,注意 :!: 另外为了举例子,只列了两个网站, 可以自己加上想ping的所有地址,一劳永逸。

嗯。