WordPress主动推送文章至百度熊掌号插件

本文作者:
2周前 (07-01)

百度熊账号的推送端口有一点小小的变化,细心的小伙伴们一眼就能看出来啦,大家在改的时候一定要注意一下。

首先,我们先在wordpress安装目录下找到\wp-content\plugins,在此文件夹下新建一个xiongzhang-submit目录,然后在此目录下新建一个xiongzhang-submit.php文件,名字一定要一样。

下面贴出文件内容,大家在用的时候改一下自己的appid和token就可以了。

<?php
/* Plugin Name: 熊掌号主动推送
 * Description: 熊掌号主动推送 in WordPress until version 4.7.
 * Author: 小兽wordpress
 * Author URI: http://seo628.com
 * Version: 0.1-beta
 */
define('APPID', '*********');//定义熊掌号appid
define('TOKEN', '*********');//定义熊掌号推送token
if(!function_exists('Baidu_Submit') && function_exists('curl_init')) {
  function Baidu_Submit($post_ID) {
    //已成功推送的文章不再推送
    global $post;
    if(empty($post_ID) || get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
    $status = $post->post_status;
    if($status != '' && $status != 'publish'){
      $url = get_permalink($post_ID);
      $api = 'http://data.zz.baidu.com/urls?appid='.APPID.'&token='.TOKEN.'&type=realtime';
      $ch  = curl_init();
      $options =  array(
        CURLOPT_URL => $api,
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS => $url,
        CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
      );
      curl_setopt_array($ch, $options);
      $result = json_decode(curl_exec($ch),true);
      //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1
      if (array_key_exists('success',$result)) {
        add_post_meta($post_ID, 'Baidusubmit', 1, true);
      }
    }
  }
  add_action('publish_post', 'Baidu_Submit');
}

相关文章