WordPress设置百度ping服务

我们知道wordpress有个ping服务,在您发表新文章时,WordPress会自动通知站点更新服务。但是,Wordpress,默认的ping服务都是是3个参数,即网站 名称,首页地址,feed地址;而百度的ping呢,则是4个参数,即网站名称,首页地址,新网页的地址,feed地址。所以使用wordpress默认的ping通知服务是通知不了百度的。

wordpress的ping通知不兼容百度的ping服务,那么我们只有手动去提交地址.其实通过一段代码就可以实现自动提交了,将以下代码加到主题的functions.php文件即可解决此问题,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//设置百度ping服务
function wusail_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', 'wusail_baiping');

给我留言