?如果想把最新文章或者动态同步到新浪微博这样一来就可以让微博用户快速的了解到到自己网站的最新动态,并且也为网站增加了一个曝光以及流量入口,对于更新频繁的网站来说增加一个同步网站动态到微博的功能是非常有必要的,所以今天分享这个经验怎样自动发布到新浪
复制下面代码到文件中:
class sync_sina {
public $access_token = "";//access_token
public $default_image = "";//默认图片地址
public $host = "https://api.weibo.com/2/";
public static $boundary = '';
function __construct(){
/**
** 事件绑定
**/
add_action('publish_post', array($this, 'new_post_photo'));
}
function do_mu_post($url, $data) {
$ch = curl_init ();
$headers = array("Content-Type:multipart/form-data;boundary=". self::$boundary);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt ( $ch, CURLOPT_POST, TRUE );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$ret = curl_exec ( $ch );
curl_close ( $ch );
return $ret;
}
function build_http_query_multi($params) {
if (!$params) return '';
uksort($params, 'strcmp');
$pairs = array();
self::$boundary = $boundary = uniqid('------------------');
$MPboundary = '--'.$boundary;
$endMPboundary = $MPboundary. '--';
$multipartbody = '';
foreach ($params as $parameter => $value) {
if( in_array($parameter, array('pic', 'image')) && $value{0} == '@' ) {
$url = ltrim( $value, '@' );
$content = file_get_contents( $url );
$array = explode( '?', basename( $url ) );
$filename = $array[0];
$multipartbody .= $MPboundary . "\r\n";
$multipartbody .= 'Content-Disposition: form-data; name="' . $parameter . '"; filename="' . $filename . '"'. "\r\n";
$multipartbody .= "Content-Type: image/unknown\r\n\r\n";
$multipartbody .= $content. "\r\n";
} else {
$multipartbody .= $MPboundary . "\r\n";
$multipartbody .= 'content-disposition: form-data; name="' . $parameter . "\"\r\n\r\n";
$multipartbody .= $value."\r\n";
}
}
$multipartbody .= $endMPboundary;
return $multipartbody;
}
function get_image($post_id){
if( has_post_thumbnail($post_id) ){
$timthumb_src = wp_get_attachment_image_src(get_post_thumbnail_id($post_id),'full');
$output = $timthumb_src[0];
wordpress发布文章后自动同步图文到新浪微博