Jalena Blog

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

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

2018-02-07 216点热度 0人点赞 0条评论

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

所以就打算自己来整一下!代码基于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' );
	}
}
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: wordpress
最后更新:2019-01-28

Jalena

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

点赞
< 上一篇
下一篇 >

文章评论

取消回复

Jalena

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

腾讯云
最新 热点 随机
最新 热点 随机
Docker overlay2 清理 & 数据转移 PowerShell 升级 & 增强 Python pip 升级 ESXI & Alpine & Clash Premium 旁路网关 ESXi install Alpine & Clash Proxy 打造自己的Aria2c专属设置 ESXI 升级 Centos 7 离线安装Nginx Centos nmcli 网络管理命令 Linux 密钥登录
Python pip 升级PowerShell 升级 & 增强Docker overlay2 清理 & 数据转移
Canopus Imaginate Ver.2.0 Java 正则表达式 Prodad Vitascene Ver.1.0.45 Red Giant Magic Bullet Looks v1.4 WinCE 同步时间 Edius 5.51 update released AE 2015 找不到 Media Encoder 解决方法 Postgres 日志分析 为博客开启Gzip 入手黑莓9700一周感言
标签聚合
java odoo Centos 其他 Edius wordpress 解码 生活
Links
  • Feng Blog
  • ZWWoOoOo
  • ninja911
  • 猿人学网站
  • 时空镜像
  • Emin.ink

COPYRIGHT © 2021 Jalena Blog. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS