阿里云服务器2核2G3M仅需99元/年,续费同价华纳云香港服务器

WordPress纯代码实现发布文章即通过API自动推送给必应

WordPress主题推荐

必应站长平台还开发了一款Bing URL Submissions Plugin插件,但是如果你所使用的WordPress不是最新版,则在填写API秘钥的时候就会报错“Adding API key failed: undefined”,将WordPress升级到最新版本即可解决这个问题。不过有些站长不想升级WordPress到最新版本,也有些站长不想安装插件来提交给必应,那么除了手动提交URL给必应外,我们还能怎么做呢?其实,我们也可以通过纯代码实现的,下面boke112百科就跟大家说一说如何实现发布文章即通过API自动推送给必应(PS:必须先前往必应站长平台添加网站)。

WordPress纯代码实现发布文章即通过API自动推送给必应-第1张-boke112百科(boke112.com)

如上图所示,关于通过API提交URL地址给必应的问题,必应站长平台已经提供了Json和XML两种方式提交,而且乜都讲D站长也分享了通过Json方式提交给必应的教程文章,详见『wordpress使用BingWebmaster提交API』。实现方法很简单,只需要将以下代码添加到当前主题的 functions.php 文件中并保存即可:

function bd_post_json($urls, $api, $httpheard ) {
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $urls,
CURLOPT_HTTPHEADER => $httpheard,
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
curl_close($ch);
}

function bd_bing_api( $post_ID, $post, $update ) {
if ( wp_is_post_revision( $post_ID ) || wp_is_post_autosave( $post_ID ) ) {
return;
}
if ( 'publish' === $post->post_status ) {
if ( 'post' === $post->post_type ) {
$urls = '{ "siteUrl":"网站完整地址","url":"'.get_permalink( $post ).'" }';
$api = 'https://ssl.bing.com/webmaster/api.svc/json/SubmitUrl?apikey=必应站长平台的API-KEY';
$httpheard = array('Content-Type: application/json', 'charset=utf-8');
bd_post_json( $urls, $api, $httpheard );
}
}
}
add_action( 'save_post', 'bd_bing_api', 10, 3 );

说明:记得填写上述代码中的“网站完整地址”和“必应站长平台的API-KEY”。

以上代码来自@乜都讲D,转载注明出处

boke112百科将以上代码整理一下,并且添加了一个提交给必应后就增加一个Bingsubmit自定义栏目防止重复提交。具体代码如下:

//API推送给必应
function bd_bing_api( $post_ID, $post, $update ) {
if ( wp_is_post_revision( $post_ID ) || wp_is_post_autosave( $post_ID ) ) {
return;
}
if(get_post_meta($post_ID,'Bingsubmit',true) == 1) return;
if ( 'publish' === $post->post_status ) {
if ( 'post' === $post->post_type ) {
$urls = '{ "siteUrl":"https://boke112.com","url":"'.get_permalink($post_ID).'" }';
$api = 'https://ssl.bing.com/webmaster/api.svc/json/SubmitUrl?apikey=abcdefgjhjklmnoporstuvwsyz123';
$httpheard = array('Content-Type: application/json', 'charset=utf-8');
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $urls,
CURLOPT_HTTPHEADER => $httpheard,
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
add_post_meta($post_ID, 'Bingsubmit', 1, true);
curl_close($ch);
}
}
}
add_action( 'save_post', 'bd_bing_api', 10, 3 );

说明:记得将以上代码中的网站网址https://boke112.com更改为自己站点的网址,将“abcdefgjhjklmnoporstuvwsyz123”更改为自己在必应站长平台生成的API密钥

本文地址:https://boke112.com/post/9882.html

赞 (0) 打赏
版权声明:本文内容来源于互联网资源,由 boke112百科 整理汇总!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu