通过代码实现主动推送AMP页面

AMP是谷歌推出的针对移动页面加速的一套方案。WordPress可以很方便地通过官方制作的一款插件来完成AMP化。那么今天我要来介绍的是,如何通过代码,来实现WordPress主动推送AMP页面。

首先我们要获得主动推送接口,方法如下:

登陆百度搜索资源平台,选中自己的站点,在“数据引用”中选择“MIP & AMP”,然后选择AMP,之后你会看到“接口调用地址”,后面的一大串东西就是我们等会需要用到的。

之后,打开主题的functions.php,在末尾添加以下代码:

if(!function_exists(‘AMP_Baidu_Submit’) && function_exists(‘curl_init’)) {
function AMP_Baidu_Submit($post_ID) {
if(get_post_meta($post_ID,’AMP_Baidusubmit’,true) == 1) return;
$url = get_permalink($post_ID) . ‘/amp’;
$api = ‘http://data.zz.baidu.com/urls?site=https://dgdgdg.xyz&token=u6YDj12Wktfgdgsfsfsfsfsfsaeqe&type=amp’;
$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);
if (array_key_exists(‘success’,$result)) {
add_post_meta($post_ID, ‘AMP_Baidusubmit’, ‘pushed’, true);
}
}
add_action(‘publish_post’, ‘AMP_Baidu_Submit’, 0);
}

将代码中的 $api 等号后面修改成刚刚在百度搜索资源平台上面获取的“接口调用地址” 。

注:我这里的AMP地址默认是在原地址基础上添加/amp。如果你的AMP地址不是这样子的,那么你也需要修改 $url 变量的值。

这样子,如果你的文章的AMP页面被成功推送了,你会在自定义字段里面看到一个名叫AMP_Baidusubmit的栏目,后面的值是pushed。

希望这篇文章能够对大家有所帮助。(写完之后才发现原来网上已经有人实现这个功能了,尴尬。)

发布于岁月无声

加入对话

1条评论

电子邮件地址不会被公开。 必填项已用*标注