我们一般使用发布后主动推送(实时)到百度,但随时场景需求变化,定时发布的频率也在增加,为此我们需要结合两者,即实现WordPress发布文章|定时发布文章主动推送到百度的功能

今天分享实现的方法:
/*
* 百度主动推送:发布、定时发布文章
* 当状态=publish,或从future变成publish时触发
*/
add_action('save_post', 'ub_save_post_notify_baidu_zz', 10, 3);
add_action('publish_future_post', 'ub_save_post_notify_baidu_zz');
function ub_save_post_notify_baidu_zz($post_id)
{
global $post;
if (empty($post_id)) {
return;
}
$status = $post->post_status;
if ($status != '' && $status != 'publish') {
return;
}
$baidu_zz_api_url = 'http://data.zz.baidu.com/urls?site=www.网址.com&token=你的token';
$response = wp_remote_post($baidu_zz_api_url, array(
'headers' => array( 'Accept-Encoding' => '', 'Content-Type' => 'text/plain' ),
'sslverify' => false,
'blocking' => false,
'body' => get_permalink($post_id),
));
}需要注意的是这里使用到的钩子save_post和publish_future_post。很多同学在写WordPress主动推送到百度都使用了publish_post钩子,为什么体验盒子要使用save_post呢?
- 有些文章需要持续维护,要实现修改后也提交给百度
- 对发布的定义不只是publish,而是修改也存在可能性
所以我使用了save_post。而publish_future_post钩子是当一篇文章由定时发布到发布成功后,就会触发此钩子。同时在触发主动推送前还要做判断必须是publish,否则中断
相关阅读:
本文《WordPress 正常发布和定时发布文章主动推送到百度》由网友投稿或:「admin」整理自网络。
转载请声明来自:云猴子 - https://www.yunhouzi.com/461.html
1,本站所有资源均来源于用户上传或整理与网络,如有侵权请【内容投诉】删除,我们将及时处理!
2,本站资源仅供大家学习和交流,请不要用于商业用途,下载后请于24小时后删除!
3,如果你也有好的资源,可以投稿到本站,有金币奖励和额外的收入!
4,从您进入本站开始,已表示您已同意接受本站【版权声明】中的一切条款!
6,申明:本站资源出售只是赞助,仅用于本站服务器和日常运营所需!不提供任何技术支持。
7,如压缩包提示有密码,www.yunhouzi.com
云猴子 » WordPress 正常发布和定时发布文章主动推送到百度