<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wp-to-weibo相关文章列表 | 皇家元林</title>
	<atom:link href="https://hjyl.org/tags/wp-to-weibo/feed/" rel="self" type="application/rss+xml" />
	<link>https://hjyl.org</link>
	<description>刘元林的个人博客</description>
	<lastBuildDate>Tue, 22 Oct 2019 14:38:08 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://img.hjyl.org/uploads/2019/10/cropped-about-me-32x32.png</url>
	<title>wp-to-weibo相关文章列表 | 皇家元林</title>
	<link>https://hjyl.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>记录：更新插件并提交到WordPress官方</title>
		<link>https://hjyl.org/update-plugins-to-wordpress/</link>
					<comments>https://hjyl.org/update-plugins-to-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[皇家元林]]></dc:creator>
		<pubDate>Tue, 22 Oct 2019 14:29:21 +0000</pubDate>
				<category><![CDATA[元林手札]]></category>
		<category><![CDATA[Hjyl Comment Spam]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress插件]]></category>
		<category><![CDATA[wp-to-weibo]]></category>
		<category><![CDATA[更新插件]]></category>
		<guid isPermaLink="false">https://hjyl.org/?p=3804</guid>

					<description><![CDATA[本文纯记录用TortoiseSVN更新插件，并提交到WordPress官方。 最近不知道什么情况，连WordP [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>本文纯记录用TortoiseSVN更新插件，并提交到WordPress官方。</p>
<p>最近不知道什么情况，连WordPress.org站点都能被和谐掉，只是出现不一样的反应：429 too many request！我们无能为力！</p>
<p>虽然我的两个插件——<a href="https://hjyl.org/hjyl-comment-spam/" rel="noopener noreferrer" target="_blank">hjyl-comment-spam</a>、<a href="https://hjyl.org/wp-to-weibo/" rel="noopener noreferrer" target="_blank">wp-to-weibo</a>没什么需要更新的，但是看到官方显示上次更新在好几年前，用的人就更少了。保持更新，好歹让别人感觉这家伙还在用啊，确实，这两个插件我自己都在用。以后不会在做插件了，因为我都会集成到主题里，这样很方便，也不需要再单独维护插件了。</p>
<p>说重点。我第一个SVN的软件就是TortoiseSVN，虽然我不喜欢这个，但是我只会用这个。好在这个官方站还在，还能正常下载。安装好之后，在桌面上随便建一个文件夹，在这个文件夹里面，右键SVN Checkout...填上SVN库地址：https://plugins.svn.wordpress.org/你的插件名称/trunk/</p>
<figure id="attachment_3805" aria-describedby="caption-attachment-3805" style="width: 543px" class="wp-caption alignnone"><a href="https://img.hjyl.org/uploads/2019/10/QQ20191022222154.png"><img fetchpriority="high" decoding="async" src="https://img.hjyl.org/uploads/2019/10/QQ20191022222154.png" alt="SVN Checkout" width="543" height="414" class="size-full wp-image-3805" srcset="https://img.hjyl.org/uploads/2019/10/QQ20191022222154.png 543w, https://img.hjyl.org/uploads/2019/10/QQ20191022222154-66x50.png 66w, https://img.hjyl.org/uploads/2019/10/QQ20191022222154-531x405.png 531w" sizes="(max-width: 543px) 100vw, 543px" title="QQ20191022222154.png" /></a><figcaption id="caption-attachment-3805" class="wp-caption-text">SVN Checkout</figcaption></figure>
<p>这个时候会弹出一个对话框，填上你的WordPress官方注册账号和密码，然后就会下载官方库里的插件源码，</p>
<p>接着把你更好的源码覆盖他的源码，最重要的就是你的源码版本号一定要高于目前官方库里的。</p>
<p>然后再右键SVN Commit...在弹出的对话框里第一个Message里，随便写点什么，比如我每次直接填上更新的版本号。</p>
<p>OK，提交完成！</p>
<p>这里有个问题，都被和谐了，你是怎么提交上去的？<br />
当然是需要搭梯子了，不然怎么爬过去！在TortoiseSVN的设置里有个Network，可以设置proxy，如图：<br />
<figure id="attachment_3808" aria-describedby="caption-attachment-3808" style="width: 787px" class="wp-caption alignnone"><a href="https://img.hjyl.org/uploads/2019/10/QQ20191022223639.png"><img decoding="async" src="https://img.hjyl.org/uploads/2019/10/QQ20191022223639.png" alt="SVN设置代理" width="787" height="542" class="size-full wp-image-3808" srcset="https://img.hjyl.org/uploads/2019/10/QQ20191022223639.png 787w, https://img.hjyl.org/uploads/2019/10/QQ20191022223639-70x48.png 70w, https://img.hjyl.org/uploads/2019/10/QQ20191022223639-540x372.png 540w" sizes="(max-width: 787px) 100vw, 787px" title="QQ20191022223639.png" /></a><figcaption id="caption-attachment-3808" class="wp-caption-text">SVN设置代理</figcaption></figure></p>
<p>这个还支持SSH，不知道怎么用，有研究的朋友研究一下！</p>
<div id="content-copyright"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;font-size: 13px;">版权声明: </span><span style="font-size: 13px;">本文采用 <a href="https://hjyl.org/go/aHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzMuMC8=" rel="nofollow" target="_blank">BY-NC-SA</a> 协议进行授权，如无注明均为原创，转载请注明转自 <a href="https://hjyl.org">皇家元林</a><br>本文链接: <a rel="bookmark" title="记录：更新插件并提交到WordPress官方" href="https://hjyl.org/update-plugins-to-wordpress/">记录：更新插件并提交到WordPress官方</a></span></div>]]></content:encoded>
					
					<wfw:commentRss>https://hjyl.org/update-plugins-to-wordpress/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress插件：wp-to-weibo</title>
		<link>https://hjyl.org/wp-to-weibo/</link>
					<comments>https://hjyl.org/wp-to-weibo/#comments</comments>
		
		<dc:creator><![CDATA[皇家元林]]></dc:creator>
		<pubDate>Thu, 08 Feb 2018 06:41:42 +0000</pubDate>
				<category><![CDATA[元林手札]]></category>
		<category><![CDATA[WordPress插件]]></category>
		<category><![CDATA[wp-to-weibo]]></category>
		<category><![CDATA[同步]]></category>
		<category><![CDATA[新浪微博]]></category>
		<guid isPermaLink="false">https://hjyl.org/?p=3499</guid>

					<description><![CDATA[首先介绍一下这个插件，wp-to-weibo就是WordPress同步到新浪微博的插件。之前很喜欢用朋友圈，可 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>首先介绍一下这个插件，wp-to-weibo就是WordPress同步到新浪微博的插件。之前很喜欢用朋友圈，可朋友真的多起来的时候，我又喜欢用微博了，或许哪天微博朋友多起来了，我又喜欢了Twitter。</p>
<p>前两年这个功能很多人用，现在用WordPress的人都没那么多了，好多这种插件代码的朋友都是N年前更新的。不过这代码又不是没用的。</p>
<p>这里要感谢<a href="https://hjyl.org/go/aHR0cHM6Ly96aGFuZ2dlLm5ldC81MDgyLmh0bWw=" rel="nofollow" target="_blank">张戈的博客</a>，他里面介绍了很多关于怎么同步到新浪微博的方法，怎么去发现问题，受益良多。而且他之前也做了这样的一个插件。所以我这个插件基本上也是从他的代码中提炼出来的。</p>
<p><figure id="attachment_3510" aria-describedby="caption-attachment-3510" style="width: 602px" class="wp-caption alignleft"><a href="https://img.hjyl.org/uploads/2018/02/QQ20180208214547.png"><img decoding="async" src="https://img.hjyl.org/uploads/2018/02/QQ20180208214547.png" alt="wp-to-weibo" width="602" height="404" class="size-full wp-image-3510" title="QQ20180208214547.png" /></a><figcaption id="caption-attachment-3510" class="wp-caption-text">wp-to-weibo</figcaption></figure>从根本上说不是他的代码有问题，是微博的接口问题，之前他介绍的微博高级写入接口，我找了半天都没找到，最后只有头条文章高级写入接口比较符合，如果想申请头条文章发布的权限，好像还需要至少有发布过10篇以上这样的文章才行。不过从微博开发平台里申请微连接之后单独申请这样的接口就OK了。</p>
<p>但是我这边插件除了支持这个接口，还有一个接口还可以同步到微博，那就是分享接口——第三方分享接口，这个接口只要你申请微连接默认是有的。他同步的形式如上图所示，这几天我测试了N遍。</p>
<p>主要核心代码有两个：一是分享到微博的形式：</p>
<pre><code class="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;
   $get_post_title = get_post($post_ID)->post_title;
   if(!empty(get_post_format($post_ID))){
	if(get_post_format($post_ID) == 'aside') $get_post_format = __('aside','wp-to-weibo');
	if(get_post_format($post_ID) == 'gallery') $get_post_format =  __('gallery','wp-to-weibo');
	if(get_post_format($post_ID) == 'link') $get_post_format =  __('link','wp-to-weibo');
	if(get_post_format($post_ID) == 'image') $get_post_format =  __('image','wp-to-weibo');
	if(get_post_format($post_ID) == 'quote') $get_post_format =  __('quote','wp-to-weibo');
	if(get_post_format($post_ID) == 'status') $get_post_format =  __('status','wp-to-weibo');
	if(get_post_format($post_ID) == 'video') $get_post_format =  __('video','wp-to-weibo');
	if(get_post_format($post_ID) == 'audio') $get_post_format =  __('audio','wp-to-weibo');
	if(get_post_format($post_ID) == 'chat') $get_post_format = __('chat','wp-to-weibo');
   }else{
	$get_post_format = __('Headline', 'wp-to-weibo');
   }
   if ($get_post_info->post_status == 'publish') {
       $appkey = "新浪微博APPKEY";
       $username = “新浪微博账号”;
       $userpassword = “新浪微博密码”;
       $request = new WP_Http;
       $keywords = ""; 
 
       /* keywords of post */
       $tags = wp_get_post_tags($post_ID);
       foreach ($tags as $tag ) {
          $keywords = sprintf(__(' %1$s # %2$s # ', 'wp-to-weibo'), $keywords, $tag->name);
       }
 
      /* add keywords to post topic*/
     $string1 = sprintf(__('【 %1$s 】 %2$s : ','wp-to-weibo'), strip_tags($get_post_format), strip_tags( $get_post_title ));
     $string2 = sprintf(__('%1$s Read More %2$s', 'wp-to-weibo'), $keywords, get_permalink($post_ID));
 
     /* post num, sync failed if more */
     $wb_num = (138 - WeiboLength_test($string1.$string2))*2;
     $status = $string1.mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, $wb_num,'...').$string2;
       /* get the thumbnail, or get the first pic */ 
		$url = get_mypost_thumbnail($post_ID);
		//$url = preg_replace('/https:\/\//i','http://',$url);
        $api_url = 'https://api.weibo.com/2/statuses/share.json'; /* API */
        $body = array('status' => $status,'source' => $appkey,'pic' => $url);
       $headers = array('Authorization' => 'Basic ' . base64_encode("$username:$userpassword"));
       $result = $request->post($api_url, array('body' => $body,'headers' => $headers));
       return json_encode($result);
    }
}</code></pre>
<p>另一种是以头条文章的形式：</p>
<pre><code class="php">function post_to_sina_toutiao($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;
   $get_post_title = get_post($post_ID)->post_title;
   $get_the_excerpt = get_post($post_ID)->post_excerpt;
   if(!empty(get_post_format($post_ID))){
	if(get_post_format($post_ID) == 'aside') $get_post_format = __('aside','wp-to-weibo');
	if(get_post_format($post_ID) == 'gallery') $get_post_format =  __('gallery','wp-to-weibo');
	if(get_post_format($post_ID) == 'link') $get_post_format =  __('link','wp-to-weibo');
	if(get_post_format($post_ID) == 'image') $get_post_format =  __('image','wp-to-weibo');
	if(get_post_format($post_ID) == 'quote') $get_post_format =  __('quote','wp-to-weibo');
	if(get_post_format($post_ID) == 'status') $get_post_format =  __('status','wp-to-weibo');
	if(get_post_format($post_ID) == 'video') $get_post_format =  __('video','wp-to-weibo');
	if(get_post_format($post_ID) == 'audio') $get_post_format =  __('audio','wp-to-weibo');
	if(get_post_format($post_ID) == 'chat') $get_post_format = __('chat','wp-to-weibo');
   }else{
	$get_post_format = __('Headline', 'wp-to-weibo');
   }
   if ($get_post_info->post_status == 'publish') {
       $appkey = "新浪微博APPKEY";
       $username = “新浪微博账号”;
       $userpassword = “新浪微博密码”;
       $request = new WP_Http;
       $keywords = ""; 
 
       /* keywords of post */
       $tags = wp_get_post_tags($post_ID);
       foreach ($tags as $tag ) {
          $keywords = sprintf(__(' %1$s # %2$s # ', 'wp-to-weibo'), $keywords, $tag->name);
       }
 
      /* add keywords to post topic*/
     $string1 = sprintf(__('【 %1$s 】 %2$s : ','wp-to-weibo'), strip_tags($get_post_format), strip_tags( $get_post_title ));
     $string2 = sprintf(__('%1$s Read More %2$s', 'wp-to-weibo'), $keywords, get_permalink($post_ID));
 
     /* post num, sync failed if more */
     $status = $string1.$get_post_centent.$string2;
       /* get the thumbnail, or get the first pic */ 
		$url = get_mypost_thumbnail($post_ID);
		//$url = preg_replace('/https:\/\//i','http://',$url);
        $api_url = 'https://api.weibo.com/proxy/article/publish.json'; 
        $body = array('title' => $get_post_title, 'text' => $get_the_excerpt, 'summary' => $get_the_excerpt, 'content' => $status, 'source' => $appkey, 'cover' => $url);
       $headers = array('Authorization' => 'Basic ' . base64_encode("$username:$userpassword"));
       $result = $request->post($api_url, array('body' => $body,'headers' => $headers));
       return json_encode($result);
    }
}</code></pre>
<p>其实两段代码基本一样，不同的是接口。另外，我还添加了post-format类型。如果不满意我的中文翻译，可以用poedit软件重新翻译，当然也可以反馈给我，我会考虑您的意见。</p>
<blockquote><p><strong><a href="https://hjyl.org/go/aHR0cHM6Ly93b3JkcHJlc3Mub3JnL3BsdWdpbnMvd3AtdG8td2VpYm8v" rel="nofollow" target="_blank">官方下载地址</a></strong></p></blockquote>
<p><del datetime="2018-02-10T02:12:49+00:00">此插件刚已经提交到官方插件库了，不知道什么时候可以审核通过。目前给大家一个下载地址：<a href="https://hjyl.org/go/aHR0cHM6Ly9jb2RpbmcubmV0L3UveWxnb2QvcC93cC10by13ZWliby9naXQvYXJjaGl2ZS9tYXN0ZXI=" rel="nofollow" target="_blank">WordPress插件wp-to-weibo</a></del></p>
<p>注意：如果以文章头条的形式，excerpt，即摘要内容必须有，否则同步失败。因为我把微博和导语部分是同步摘要的部分。其实这个插件做的不完美，特别是头条文章的形式，文章打开之后，显示的是格式化的文章，没有段落。有高手路过，可以帮我一起完善它，感谢！</p>
<p>== 已知bug ==<br />
1、如上所述，头条文章形式，打开文章无格式，无段落；<br />
2、文章更新后，还是会同步到微博，这个虽然可以加字段解决，但是我又不想在数据库里加个字段，而官方这个wp_is_post_revision貌似也不管用！</p>
<p>== changelog ==<br />
2018.02.08  开始提交该插件；<br />
2018.02.10  官方审核通过！</p>
<div id="content-copyright"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;font-size: 13px;">版权声明: </span><span style="font-size: 13px;">本文采用 <a href="https://hjyl.org/go/aHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzMuMC8=" rel="nofollow" target="_blank">BY-NC-SA</a> 协议进行授权，如无注明均为原创，转载请注明转自 <a href="https://hjyl.org">皇家元林</a><br>本文链接: <a rel="bookmark" title="WordPress插件：wp-to-weibo" href="https://hjyl.org/wp-to-weibo/">WordPress插件：wp-to-weibo</a></span></div>]]></content:encoded>
					
					<wfw:commentRss>https://hjyl.org/wp-to-weibo/feed/</wfw:commentRss>
			<slash:comments>27</slash:comments>
		
		
			</item>
	</channel>
</rss>
