WordPress开发:自动推送提交MIP/AMP页面

安装 AMP 插件实现的 AMP 页面或者 MIP 页面,那么文章的 AMP 地址是在文章原地址后面加后缀 /amp,页面的 AMP 地址是在页面原地址后面加后缀 ?amp ,MIP 的则加相应加后缀 /mip 或 ?mip。所以想在发布文章或者页面时(自动)主动推送提交 AMP 页面的,只需要将以下代码添加到当前主题的 functions.php 文件最后一个 ?> 的前面即可。

WordPress自动推送提交MIP/AMP页面

WordPress 发布文章自动推送 AMP

  1. /**
  2. * WordPress 发布文章自动推送 AMP
  3. */
  4. if(!function_exists('Baidu_amp')){
  5.     function Baidu_amp($post_ID) {
  6.         //已成功推送的文章不再推送
  7.         if(get_post_meta($post_ID,'Baiduamp',true) == 1) return;
  8.         $url = get_permalink($post_ID);
  9.         if(get_post_type($post_ID)=='page'){
  10.         $url=$url.'?amp';
  11.         }
  12.        if(get_post_type($post_ID)=='post'){
  13.         $url=$url.'/amp/';
  14.         }
  15.         $api = 'http://data.zz.baidu.com/urls?site=网站首页地址&token=你的密钥&type=amp';
  16.         $request = new WP_Http;
  17.         $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
  18.         $result = json_decode($result['body'],true);
  19.         //如果推送成功则在文章新增自定义栏目 Baiduamp,值为 1
  20.         if (array_key_exists('success_amp',$result)) {
  21.             add_post_meta($post_ID, 'Baiduamp', 1, true);
  22.         }
  23.     }
  24.     add_action('publish_post', 'Baidu_amp', 0);

WordPress 发布文章自动推送 MIP

  1. /**
  2. * WordPress 发布文章自动推送 MIP
  3. */
  4. if(!function_exists('Baidu_mip')){
  5.     function Baidu_mip($post_ID) {
  6.         //已成功推送的文章不再推送
  7.         if(get_post_meta($post_ID,'Baidumip',true) == 1) return;
  8.         $url = get_permalink($post_ID);
  9.         if(get_post_type($post_ID)=='page'){
  10.         $url=$url.'?mip';
  11.         }
  12.        if(get_post_type($post_ID)=='post'){
  13.         $url=$url.'/mip/';
  14.         }
  15.         $api = 'http://data.zz.baidu.com/urls?site=网站首页地址&token=你的密钥&type=mip';
  16.         $request = new WP_Http;
  17.         $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
  18.         $result = json_decode($result['body'],true);
  19.         //如果推送成功则在文章新增自定义栏目 Baidumip,值为 1
  20.         if (array_key_exists('success_mip',$result)) {
  21.             add_post_meta($post_ID, 'Baidumip', 1, true);
  22.         }
  23.     }
  24.     add_action('publish_post', 'Baidu_mip', 0);
THE END