Jalena Blog

  • 首页
  • 程序开发
    • Java
    • Spring
    • SpringBoot
    • SpringMvc
    • Python
    • Odoo
    • C#
    • SQL
    • Web
    • Linux
  • 移动设备
    • Android
    • Router
  • 杂七杂八
    • 我的废话
    • 音频
    • 视频
    • 常用软件
  • 关于
  1. 首页
  2. 软件开发
  3. 正文

wordpress 发布更新文章实时提交到百度站长平台

2018-02-07

现在这样的插件不少,但是都大同小异,你抄袭我,我再抄袭他!

所以就打算自己来整一下!代码基于wordpress自带的WP_Http,实现了新发布文章和更新文章的功能,同时使用wordpress内置的消息提示!

复制如下代码,替换成自己的token。

token可以在这里找到:https://ziyuan.baidu.com/linksubmit/index

function post_handle( $url, $types ){
	$WEB_TOKEN = 'token'; //这里请换成你的网站的百度主动推送的token值
	$WEB_DOMAIN = get_option('home');
	$api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN;

	if ($types == 'update') {
		$api = 'http://data.zz.baidu.com/update?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN;
	}

	$request = new WP_Http;
	$result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
	$result = json_decode($result['body'] , true);
	if (array_key_exists('success' , $result )) {
		set_transient('has_post_submitBaidu' , 'yes' );
	}elseif ($types == 'update' && array_key_exists('success' , $result )) {
		set_transient('has_post_updateBaidu' , 'yes' );
	}
}

// submit to Baidu
if(!function_exists('Baidu_Submit')){
	add_action('publish_post', 'Baidu_Submit', 0);
	function Baidu_Submit($post_ID) {
		$url = get_permalink($post_ID);
		post_handle( $url, 'submit');
	}
}

// update to Baidu
if (!function_exists('Baidu_Update')) {
	add_action('post_updated', 'Baidu_Update',0);
	function Baidu_Update($post_ID)	{
		$url = get_permalink($post_ID);
		post_handle( $url, 'update');
	}
}

// 显示提交到百度的消息
add_action('admin_notices', 'submit_admin_notice');
function submit_admin_notice(){
	$class = 'notice notice-success is-dismissible';
	$newmessage = __('成功提交到百度站长平台.');
	$updatemessage = __('成功更新到百度站长平台.');

	if ( get_transient( 'has_post_submitBaidu' ) == 'yes' ) {
		printf('<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), esc_html( $newmessage ));
		delete_transient( 'has_post_submitBaidu' );
	}elseif (get_transient( 'has_post_updateBaidu' ) == 'yes') {
		printf('<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), esc_html( $updatemessage ));
		delete_transient( 'has_post_updateBaidu' );
	}
}
标签: wordpress
最后更新:2019-01-28

Jalena

原创内容,转载请注明出处! 部分内容来自网络,请遵守法律适用!

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

【腾讯云】云服务器特惠热卖中
标签聚合
java Centos odoo 其他 生活 wordpress docker MySql
分类
  • Android / 4篇
  • C# / 10篇
  • Codec / 9篇
  • Conversion / 14篇
  • Editing / 16篇
  • Java / 47篇
  • Javascript / 3篇
  • Linux / 30篇
  • Odoo / 25篇
  • Python / 6篇
  • SQL / 30篇
  • Web / 3篇
  • Windows / 4篇
  • 我的日记 / 10篇
  • 杂七杂八 / 93篇
  • 软件开发 / 72篇
  • 非线性编辑 / 1篇

COPYRIGHT © 2026 Jalena Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备17025376号