WordPress发布|定时发布文章主动推送到百度
- 发表于
- WordPress
我们一般使用发布后主动推送(实时)到百度,但随时场景需求变化,定时发布的频率也在增加,为此我们需要结合两者,即实现WordPress发布文章|定时发布文章主动推送到百度的功能
今天分享体验盒子实现的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
/* * 百度主动推送:发布、定时发布文章 * 当状态=publish,或从future变成publish时触发 * Author:https://www.uedbox.com */ 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发布|定时发布文章主动推送到百度
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。