解决 WordPress 更新服务功能 识别不了 “百度Ping”

给大家发过「利用 WordPress 更新服务功能,加快 搜索引擎 收录」有细心的 WordPress 用户发现 WordPress 更新服务功能 识别不了 “百度Ping”,也就是添加后并没有起到作用。

百度的ping还与其他的搜索引擎有所不同,各大厂商,当然也包括Wordpress,默认的ping服务都是是3个参数,即网站 名称,首页地址,feed地址;而百度ping呢,则是4个参数,即网站名称,首页地址,新网页的地址,feed地址。所以使用wordpress默认的ping通知服务是通知不了百度的。

解决方法如下:

后台」→「外观」→「编辑」 「functions.php」文件,把以下的内容添加进去:

function wpyou_baiping($post_id) {
$baiduXML = 'weblogUpdates.extendedPing' . get_option('blogname') . ' ' . home_url() . ' ' . get_permalink($post_id) . ' ' . get_feed_link() . ' ';
$wp_http_obj = new WP_Http();
$return = $wp_http_obj->post('http://ping.baidu.com/ping/RPC2', array('body' => $baiduXML, 'headers' => array('Content-Type' => 'text/xml')));
if(isset($return['body'])){
if(strstr($return['body'], '0')){
$noff_log='succeeded!';
}
else{
$noff_log='failed!';
}
}else{
$noff_log='failed!';
}
}
add_action('publish_post', 'wpyou_baiping');

方法来源:wpyou