WordPress中如何实现Ping功能
2011-02-14 13:29
411 查看
WordPress中如何实现Ping功能
使用WordPress的朋友都知道通过配置WordPress的Ping服务列表,就可以在你发布新文章时,立即自动通知搜索引擎蜘蛛来抓取,第一时间更新订阅的频道(Feed)。所以添加Google的Ping地址到WordPress的Ping服务列表,然后通过使用WordPress博客发表的文章能够很快出现在Google的数据库中。
在这里分析一下WordPress的Ping功能到底是如何实现的。
在分析Ping功能是首先需要了解以下几点:
1.WordPress的Ping服务列表存放在数据库中的位置是:
复制内容到剪贴板
代码:
//wp_options 表 SELECT * FROM wp_options WHERE option_name='ping_sites'
2.WordPress中提供了Trackback和Ping两种功能。
因为接触WP时间不长,对于其中的很多功能还不太熟悉,所以暂时只找到在wp_includes/comment.php文件中有关于Ping服务的代码:
大家可以在此文件中摸查如下几个函数:
function do_all_pings()
function pingback($content, $post_ID)
function weblog_ping($server = '', $path = '')
我觉得最重要的函数是:weblog_ping
具体代码如下:
复制内容到剪贴板
代码:
function weblog_ping($server = '', $path = '') { global $wp_version; include_once(ABSPATH . WPINC . '/class-IXR.php'); // using a timeout of 3 seconds should be enough to cover slow servers $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); $client->timeout = 3; $client->useragent .= ' -- WordPress/'.$wp_version; // when set to true, this outputs debug messages by itself $client->debug = false; $home = trailingslashit( get_option('home') ); if ( !$client->query('weblogUpdates.extendedPing', get_option('blogname'), $home, get_bloginfo('rss2_url') ) ) // then try a normal ping $client->query('weblogUpdates.ping', get_option('blogname'), $home); }
其中的weblogUpdates.extendedPing与Google“博客搜索”帮助中描述的情况一致:
引用:
关于 Google“博客搜索”Ping 服务应用编程接口(API)
XML-RPC客户的请求应包含如下元素:
RPC端点:
http://blogsearch.google.com/ping/RPC2
调用方法名:
weblogUpdates.extendedPing
参数:
(应按照如下所列的相同顺序传送)
站点名
站点URL
需要检查更新的页面URL
相应的RSS、RDF或Atom种子的URL
可选
页面内容的分类名称(或标签)。您可以指定多个值,之间用'|'字符进行分隔。
XML-RPC响应中将返回含有两个元素的<struct> :
flerror (Boolean):当有错误发生时设为true/1
message (string) :"Thanks for the ping." (如果成功) 或者一个错误信息(如果不成功)。
常用的 XML-RPC Ping Services
http://rpc.pingomatic.com http://rpc.twingly.com http://api.feedster.com/ping http://api.moreover.com/RPC2 http://api.moreover.com/ping http://api.my.yahoo.com/RPC2 http://api.my.yahoo.com/rss/ping http://www.blogdigger.com/RPC2 http://www.blogshares.com/rpc.php http://www.blogsnow.com/ping http://www.blogstreet.com/xrbin/xmlrpc.cgi http://bulkfeeds.net/rpc http://www.newsisfree.com/xmlrpctest.php http://ping.blo.gs/ http://ping.feedburner.com http://ping.syndic8.com/xmlrpc.php http://ping.weblogalot.com/rpc.php http://rpc.blogrolling.com/pinger/ http://rpc.technorati.com/rpc/ping http://rpc.weblogs.com/RPC2 http://www.feedsubmitter.com http://blo.gs/ping.php http://www.pingerati.net http://www.pingmyblog.com http://geourl.org/ping http://ipings.com http://www.weblogalot.com/ping
相关文章推荐
- WordPress中如何实现Ping功能
- 方法:如何解决用MFC实现的ping功能中把目标主机不可到达的当成ping通的问题
- 方法:如何解决用MFC实现的ping功能中把目标主机不可到达的当成ping通的问题
- 黄聪:如何在wordpress任何一个页面调用“插入图片”按钮,实现上传图片功能
- 黄聪:如何给wordpress的编辑器添加一个自定义按钮,并且实现插入功能
- 如何实现wordpress评论回复邮件通知功能
- 如何在wordpress任何一个页面调用“插入图片”按钮,实现上传图片功能
- 黄聪:如何在wordpress任何一个页面调用“插入图片”按钮,实现上传图片功能
- 如何实现虚拟机跟主机间文件共享和复制粘贴功能及互ping通功能
- 如何用input标签和jquery实现多图片的上传和回显功能
- 代码实现WordPress文章浏览次数统计功能
- postgresql如何实现group_concat功能
- 关于如何使用block实现和协议一样的功能分析
- 如何在程序中,实现比大小的功能
- ping功能实现(ICMP)
- 如何实现线程池的暂停和恢复功能
- iOS计步器功能实现之CoreMotion如何读取数据(二)
- 黄聪:WordPress 多站点建站教程(一):怎样开启WordPress多站点功能,实现手机移动端主题开发,与主站用户数据共享
- Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能
- [置顶] 如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能