久青草国产观看在线视频,在线观看欧美日女,777毛片,亚洲国产精品99久久久久久久

wordpress引流教程,發布文章后自動同步圖文到新浪微博

2015-04-03 wordpress教程
  • 文章介紹
  • 快速入門
  • 評價&建議

經常上新浪微博并且關注了不少官網認證號的小伙伴一定會發現很多官方性質的微博都會把網站的最新文章或者動態同步到新浪微博這樣一來就可以讓微博用戶快速 的了解到網站的最新動態,并且也為網站增加了一個曝光以及流量入口,對于更新頻繁的網站來說增加一個同步網站動態到微博的功能是非常有必要的,也不扯淡 了,直接上代碼:

  1. class?sync_sina?{
  2. ????public?$access_token?=?"";//access_token
  3. ????public?$default_image?=?"";//默認圖片地址
  4. ????public?$host?=?"https://api.weibo.com/2/";
  5. ????public?static?$boundary?=?'';
  6. ????function?__construct(){
  7. ????????/**
  8. ?????????**?事件綁定
  9. ?????????**/
  10. ????????add_action('publish_post',?array($this,?'new_post_photo'));
  11. ????}
  12. ????function?do_mu_post($url,?$data)?{
  13. ????????$ch?=?curl_init?();
  14. ????????$headers?=?array("Content-Type:multipart/form-data;boundary=".?self::$boundary);
  15. ????????$ch?=?curl_init();
  16. ????????curl_setopt($ch,?CURLOPT_HTTPHEADER,?$headers);
  17. ????????curl_setopt?(?$ch,?CURLOPT_RETURNTRANSFER,?TRUE?);
  18. ????????curl_setopt?(?$ch,?CURLOPT_POST,?TRUE?);
  19. ????????curl_setopt?(?$ch,?CURLOPT_POSTFIELDS,?$data?);
  20. ????????curl_setopt?(?$ch,?CURLOPT_URL,?$url?);
  21. ????????curl_setopt?(?$ch,?CURLOPT_SSL_VERIFYPEER,?FALSE);
  22. ????????$ret?=?curl_exec?(?$ch?);
  23. ????????curl_close?(?$ch?);
  24. ????????return?$ret;
  25. ????}
  26. ????function?build_http_query_multi($params)?{
  27. ????????if?(!$params)?return?'';
  28. ????????uksort($params,?'strcmp');
  29. ????????$pairs?=?array();
  30. ????????self::$boundary?=?$boundary?=?uniqid('------------------');
  31. ????????$MPboundary?=?'--'.$boundary;
  32. ????????$endMPboundary?=?$MPboundary.?'--';
  33. ????????$multipartbody?=?'';
  34. ????????foreach?($params?as?$parameter?=>?$value)?{
  35. ????????????if(?in_array($parameter,?array('pic',?'image'))?&&?$value{0}?==?'@'?)?{
  36. ????????????????$url?=?ltrim(?$value,?'@'?);
  37. ????????????????$content?=?file_get_contents(?$url?);
  38. ????????????????$array?=?explode(?'?',?basename(?$url?)?);
  39. ????????????????$filename?=?$array[0];
  40. ????????????????$multipartbody?.=?$MPboundary?.?"rn";
  41. ????????????????$multipartbody?.=?'Content-Disposition:?form-data;?name="'?.?$parameter?.?'";?filename="'?.?$filename?.?'"'.?"rn";
  42. ????????????????$multipartbody?.=?"Content-Type:?image/unknownrnrn";
  43. ????????????????$multipartbody?.=?$content.?"rn";
  44. ????????????}?else?{
  45. ????????????????$multipartbody?.=?$MPboundary?.?"rn";
  46. ????????????????$multipartbody?.=?'content-disposition:?form-data;?name="'?.?$parameter?.?""rnrn";
  47. ????????????????$multipartbody?.=?$value."rn";
  48. ????????????}
  49. ????????}
  50. ????????$multipartbody?.=?$endMPboundary;
  51. ????????return?$multipartbody;
  52. ????}
  53. ????function?get_image($post_id){
  54. ????????if(?has_post_thumbnail($post_id)?){
  55. ????????????$timthumb_src?=?wp_get_attachment_image_src(get_post_thumbnail_id($post_id),'full');
  56. ????????????$output?=?$timthumb_src[0];
  57. ????????}?else?{
  58. ????????????$content?=?get_post_field('post_content',?$post_id);
  59. ????????????$defaltthubmnail?=?$this->default_image;
  60. ????????????preg_match_all('/<img.*?(?:?|\t|\r|\n)?src=['"]?(.+?)['"]?(?:(?:?|\t|\r|\n)+.*?)?>/sim',?$content,?$strResult,?PREG_PATTERN_ORDER);
  61. ????????????$n?=?count($strResult[1]);
  62. ????????????if($n?>?0){
  63. ????????????????$output?=?$strResult[1][0];
  64. ????????????}?else?{
  65. ????????????????$output?=?$defaltthubmnail;
  66. ????????????}
  67. ????????}
  68. ????????return?$output;
  69. ????}
  70. ????function?new_post_photo($post)?{
  71. ????????global?$post;
  72. ????????if(?$post->post_status?!=?"publish"?){
  73. ????????????$token?=?$this->access_token;
  74. ????????????$url?=?$this->host?."statuses/upload.json";
  75. ????????????$status?=?"我剛剛發布了新文章《".get_the_title()."》。".get_permalink();
  76. ????????????$status?.=?mb_strimwidth(strip_tags(apply_filters('the_content',?$post->post_content)),?0,180,"...");?//順手加了個文章摘要,不喜歡就去掉啦
  77. ????????????$pic_path?=?self::get_image($post->ID);
  78. ????????????$params?=?array();
  79. ????????????$params['access_token']?=?$token;
  80. ????????????$params['status']?=?$status;
  81. ????????????$params['pic']?=?'@'.$pic_path;
  82. ????????????$body?=?self::build_http_query_multi($params);
  83. ????????????$result?=?self::do_mu_post($url,$body);
  84. ????????}
  85. ????}
  86. }
  87. $HMT?=?new?sync_sina();

以上代碼添加至主題functions.php文件即可。

注意:

需要服務器支持file_get_contents函數以及curl組件;

如果網站在國外服務器或者服務因特殊原因屏蔽了api.weibo.com域名,則可能造成發布文章卡死或者超時的問題。

如果網站未通過新浪審核微博小尾巴會顯示為未審核應用。

文章參考:http://www.mywpku.com/wordpress-sync-sina-weibo.html

0 0

企業建站推薦正版商業主題,國內專業團隊開發,完善售后,是您不二選擇。

正版主題商店

主題貓WP建站,累計幫助1300+客戶成功建站,為站長提供支持!

立刻開啟你的建站之旅
QQ在線客服

服務熱線

wordpress建站咨詢