WordPress 发表文章自动同步到新浪微博【亲测可用】
本文最后更新于2021年11月18日,已超过1100天没有更新,若内容或图片失效,请留言反馈。
代码如下,拿去吧。记得把代码加到主题的functions.php
里。
// 微博同步
function post_to_sina_weibo($post_ID) {
if( wp_is_post_revision($post_ID) ) return;
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
//去掉文章内的html编码的空格、换行、tab等符号(如果你文章的编码格式是这样子,可以将下面的"//"去掉即开启此功能)
//$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace(" ", " ", $get_post_centent)));
$get_post_title = get_post($post_ID)->post_title;
if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) {
$request = new WP_Http;
$status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ;
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array( 'status' => $status, 'source'=>'xxx');
$headers = array( 'Authorization' => 'Basic ' . 'xxx' );
/*
如果你使用该方法,请注释掉上面$headers = array( 'Authorization' => 'Basic ' . 'xxx' );
换成如下代码
//你的新浪微博登陆名
$username = '' ;
//你的新浪微博登陆密码
$password = '' ;
$headers = array( 'Authorization' => 'Basic ' . base64_encode('$username:$password'));
*/
$result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) );
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);
评论已关闭