必应站长平台还开发了一款Bing URL Submissions Plugin插件,但是如果你所使用的WordPress不是最新版,则在填写API秘钥的时候就会报错“Adding API key failed: undefined”,将WordPress升级到最新版本即可解决这个问题。不过有些站长不想升级WordPress到最新版本,也有些站长不想安装插件来提交给必应,那么除了手动提交URL给必应外,我们还能怎么做呢?其实,我们也可以通过纯代码实现的,下面boke112联盟就跟大家说一说如何实现发布文章即通过API自动推送给必应(PS:必须先前往必应站长平台添加网站)。
如上图所示,关于通过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://boke123.net/jianzhan/6965.html
版权声明:本文内容由 boke112百科 发布,发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请与本站联系(邮箱:boke123dh@qq.com)更正或删除,谢谢!
本文地址: 版权声明:本文内容由 boke112百科 发布,发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请与本站联系(邮箱:boke123dh@qq.com)更正或删除,谢谢!