一直学一直嗨,一直嗨一直学

如何实现WordPress文章页自动推送提交AMP页面?

前面懿古今分享了安装 WordPress 官方 AMP 插件实现站点文章和页面 AMP 页面并解决了具体的错误,详见《修复 AMP 页面无结构化数据元素 logo 和 image 错误》。今天我们继续跟大家分享懿古今使用的(自动)主动推送(实时)AMP 页面给百度的实现代码。

1、明确文章和页面的 AMP 页面地址。因为懿古今是安装 AMP 插件实现的 AMP 页面,那么文章的 AMP 地址是在文章原地址后面加后缀 /amp,页面的 AMP 地址是在页面原地址后面加后缀 ?amp。

2、登录百度搜索资源平台 >> 网站支持 >> 数据引入 >> MIP&AMP >> AMP,在下方的数据提交中就能看到 AMP 推送接口调用地址,这个 API 调用地址留待第 3 步使用。

3、添加发布文章/页面时(自动)主动推送(实时)AMP 页面给百度功能。实现方法很简单,只需要将以下代码添加到当前主题的 functions.php 文件最后一个 ?> 的前面即可。

  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);
  25. }
其中代码中的 http://data.zz.baidu.com/urls?site=网站首页地址&token=属于你自己的密钥&type=amp 直接替换为第 2 步获取的 AMP 页面推送接口调用地址即可。

至此,我们即可成功实现发布文章或页面时(自动)主动推送(实时)AMP 页面给百度功能。同样道理,想要推送 MIP 页面给百度的做法也一样,只需要将上述第 3 步代码中的 amp 统一替换成 mip,然后添加到当前主题的 functions.php 文件中即可,详见《如何实现 WordPress 文章页自动推送提交 MIP/AMP 页面?》。

你可能感兴趣的文章
  • Windows 10原版ISO文件制作U盘启动盘图文教程
  • WordPress评论或文章出现email protected的解决办法
  • 红米NOTE系统升级失败的解决办法
  • WordPress调用指定tag标签下的所有文章制作专题文章
  • 360九宫格怎么申请
  • Windows XP系统字体库在哪?如何安装新字体?
  • qq群如何添加Q群管家和设置入群欢迎、定时消息?
  • 老薛虚拟主机站点傻瓜式安装免费SSL证书

Tags:,