<?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>-Flyぁ梦- &#187; WordPress</title>
	<atom:link href="http://blog.11034.org/category/coding/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.11034.org</link>
	<description></description>
	<lastBuildDate>Sun, 22 Jun 2025 08:59:05 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>wordpress改源码实现自定义URL到自定义页面</title>
		<link>http://blog.11034.org/2014-03/new_url_to_template.html</link>
		<comments>http://blog.11034.org/2014-03/new_url_to_template.html#comments</comments>
		<pubDate>Tue, 11 Mar 2014 17:00:51 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.11034.org/?p=2226</guid>
		<description><![CDATA[wordpress对于新闻发布系统来说不能更优秀了，对于一般的门户和博客类网站的大部分需求都能符合，但其毕竟不 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>wordpress对于新闻发布系统来说不能更优秀了，对于一般的门户和博客类网站的大部分需求都能符合，但其毕竟不是类似于joomla这样的自定义化程度更高的平台，在wordpress中只能依靠theme和plugin这两块很小地修改原本的功能和增加新的功能。一直有如此的需求，比如用wordpress搭建一个公司门户，需要一个产品列表的页面，这个页面需要完全自定义的程序去实现，无法实现为一篇文章或者一个页面，这在wordpress原来的系统中似乎很难实现。<br />
<span id="more-2226"></span></p>
<p>其实这个功能唯一需求的地方，就是能够自定义一个URL然后映射到主题中自定义的一个页面中即可，对于数据库的读写还有其他的逻辑实现，完全可以在主题文件中用PHP代码随心所欲地实现，数据库表也可以随意建，这些都不是问题。但是wordpress就是没有提供额外的URL映射功能，有一个<strong>add_rewrite_rule()</strong>函数，只是可以自定义新的URL映射到原来的URL，并没有添加URL映射到主题文件的机制。</p>
<p><span style="color: #0000ff;"><strong>首先要开启wordpress的固定链接功能</strong></span></p>
<p>只能从源码入手，很快可以找到在wp-includes/template-loader.php中，是URL路由到主题文件的入口，所以当我们设置一个新的URL，比如: /production，将它映射到主题目录下的production.php。wordpress会认为 /production 是一个Page的URL，但是扫描数据库后发现没有对应的Page的静态url符合，所以is_404()就返回了true，然后$template被设置为主题对应的404页面。</p>
<p>这样就简单了，在template-loader.php中一堆if和elseif的后面，include( $template );的前面，我们加入以下代码，就可以实现我们的目的：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>43
44
45
46
47
48
49
50
51
52
53
54
55
56
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">else</span> <span style="color: #339933;">:</span>
	<span style="color: #000088;">$template</span> <span style="color: #339933;">=</span> get_index_template<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// hacked</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>is_404<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>								<span style="color: #666666; font-style: italic;">//新的URL一定会被认为是404页面</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$wp_query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query_vars</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pagename'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'production'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>	<span style="color: #666666; font-style: italic;">//从404结果中找到我们的特殊URL</span>
	或者<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$wp_query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query_vars</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'production'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>	<span style="color: #666666; font-style: italic;">//从404结果中找到我们的特殊URL</span>
		<span style="color: #000088;">$template</span> <span style="color: #339933;">=</span> get_query_template<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'production'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//映射到自定义的主题文件</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">// end</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$template</span> <span style="color: #339933;">=</span> apply_filters<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'template_include'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$template</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$template</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">return</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>上面代码中，有2行if，因为在不同情况下发现这个参数名会不太一样，这个根据实际调试情况很容易就可以发现，print_r($wp_query)即可。</p>
<p>这样我们就从404的结果中，找到了我们自定义的URL路径，并将其映射到了主题目录中的production.php文件，这样就是完全自定义的URL和自定义的主题文件了，为所欲为吧亲！ [em75]</p>
<h4  class="related_post_title">随便看一看</h4><ul class="related_post"><li>2010-09-14 -- <a target="_blank" href="http://blog.11034.org/2010-09/wp-postviews_do_with_page_refresh.html" title="wp-postviews的防刷新的处理">wp-postviews的防刷新的处理</a></li><li>2013-10-13 -- <a target="_blank" href="http://blog.11034.org/2013-10/tianmao_intern.html" title="天猫实习经历">天猫实习经历</a></li><li>2010-12-13 -- <a target="_blank" href="http://blog.11034.org/2010-12/%e7%bb%9d%e4%bb%a3%e5%8f%8c%e9%aa%84.html" title="《绝代双骄》游戏和电视剧">《绝代双骄》游戏和电视剧</a></li><li>2016-06-12 -- <a target="_blank" href="http://blog.11034.org/2016-06/saint_seiya_soul_of_gold.html" title="圣斗士星矢-黄金魂">圣斗士星矢-黄金魂</a></li><li>2015-10-12 -- <a target="_blank" href="http://blog.11034.org/2015-10/kenting.html" title="我在垦丁晒太阳">我在垦丁晒太阳</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-08-16 -- <a target="_blank" href="http://blog.11034.org/2012-08/fuck_renren.html" title="吐槽人人开放平台">吐槽人人开放平台</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2014-03/new_url_to_template.html/feed</wfw:commentRss>
		<slash:comments>1671</slash:comments>
		</item>
		<item>
		<title>wp_sns_share更新至2.8，添加小功能</title>
		<link>http://blog.11034.org/2013-12/wp-sns-share_2-8.html</link>
		<comments>http://blog.11034.org/2013-12/wp-sns-share_2-8.html#comments</comments>
		<pubDate>Thu, 05 Dec 2013 14:44:32 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wp-sns-share]]></category>

		<guid isPermaLink="false">http://blog.11034.org/?p=2213</guid>
		<description><![CDATA[虽然老早换了新域名，但是这几天老域名没有续费就失效了，没想到引起了wp_sns_share插件的正常工作导致授 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>虽然老早换了新域名，但是这几天老域名没有续费就失效了，没想到引起了wp_sns_share插件的正常工作导致授权失败（新浪微博和Twitter的登陆授权部分受到了影响，因为OAuth的授权流程callback到此站目录下的对应文件，域名变化后文件无法访问），老用户只要不注销是不会受到影响的所以我也一直没有发现，新用户就会无法使用直到热心网友的提示。在这里多谢<a href="http://kaikaixin.net/" target="_blank">obaobao</a>网友和<a href="http://www.ttfxb.com/" target="_blank">joe</a>网友。</p>
<p>既然要发布新版本2.8了，也就顺便带上早已开发好的两个2小功能。</p>
<ol>
<li>后台自动同步中，自主选择中的图片同步，加入选择同步第几张图片的功能（之前默认为第一张），这个还是蛮有用的对于多图的文章。</li>
<li>后台自动同步中，自主选择中的文章摘要同步，加入自定义功能。</li>
</ol>
<p>这俩功能一直自娱自乐了很久，今年忙着找工作就一直没因为这俩个小功能去发布新版本了，正好借这次机会。</p>
<p><span id="more-2213"></span></p>
<p>拖了2-3天，从发现问题到修改代码是很快的，主要是要上新浪微博和Twitter的开放平台修改APP参数，Twitter直接修改立即生效很赞，sina这边要通过审核过了1天，倒也还快的。</p>
<p>最近的想法是，能不能实现新浪微博同步时候的多图流，这个就爽了哈哈~</p>
<p>博客插件主页：<a href="http://blog.11034.org/2010-08/wp-sns-share.html" target="_blank">http://blog.11034.org/2010-08/wp-sns-share.html</a></p>
<p>wordpress官方下载地址：<a href="http://wordpress.org/extend/plugins/wp-sns-share/" target="_blank">http://wordpress.org/extend/plugins/wp-sns-share/</a></p>
<p>希望大家继续支持wp_sns_share，并提出新的功能建议和意见。 [em71]</p>
<h4  class="related_post_title">看看 wp-sns-share</h4><ul class="related_post"><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li><li>2011-07-11 -- <a target="_blank" href="http://blog.11034.org/2011-07/wp-sns-share_2-3.html" title="wp-sns-share更新2.3">wp-sns-share更新2.3</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-08-16 -- <a target="_blank" href="http://blog.11034.org/2012-08/fuck_renren.html" title="吐槽人人开放平台">吐槽人人开放平台</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2013-12/wp-sns-share_2-8.html/feed</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>wp-zjuem，zju cc98表情系统 in wordpress</title>
		<link>http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html</link>
		<comments>http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html#comments</comments>
		<pubDate>Thu, 14 Feb 2013 13:52:38 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Life in ZJU]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[插件]]></category>
		<category><![CDATA[表情]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=1616</guid>
		<description><![CDATA[作为一个ZJUer，作为一个cc98的水人，自然对cc98这一套圆头圆脸的表情十分喜欢。想法是来自于某天网上下 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>作为一个ZJUer，作为一个cc98的水人，自然对cc98这一套圆头圆脸的表情十分喜欢。想法是来自于某天网上下载到了cc98表情包forQQ，然后在QQ里聊天用上98的表情顿时觉得巨爽无比，于是就起了把表情系统搬到wordpress的念头。</p>
<p>wordpress官网的插件页面：<a title="wp-zjuem" href="http://wordpress.org/extend/plugins/wp-zjuem/" target="_blank">http://wordpress.org/extend/plugins/wp-zjuem/</a></p>
<p>[em01]  [em03]  [em06] [em42]  [em71]  [em88] [em91]</p>
<p><span id="more-1616"></span>其实有这个想法到这个寒假开始写代码，已经隔了好久，而写代码仅仅是一个下午和晚上的功夫而已，当然大部分代码是照着wordpress另一通用表情插件custom-smiles抄的，然后再针对性地做了一些修改就完成了。</p>
<p>插件的作用就是在后台文章编辑器上加入2个表情按钮，分别加入圆脸表情和气泡脸表情，加入在文章中如同cc98中的表情代码格式[emXX]，熟悉的ZJUer当然可以直接手写。然后前台展示时会自动将表情代码转换为表情图片。</p>
<p>后台左侧<strong>设置栏</strong>点击“ZJU表情包”可以进入插件设置页面，现在还只有一个可设置项：圆脸表情的显示大小，从10px到72px不等。</p>
<div id="attachment_1618" style="width: 611px" class="wp-caption aligncenter"><img class="size-full wp-image-1618" title="wp-zjuem插件，后台编辑器效果图" src="/wp-content/uploads/2013/02/1.jpg" alt="wp-zjuem插件，后台编辑器效果图" width="601" height="446" /><p class="wp-caption-text">wp-zjuem插件，后台编辑器效果图</p></div>
<p>wordpress官网的插件页面：<a title="wp-zjuem" href="http://wordpress.org/extend/plugins/wp-zjuem/" target="_blank">http://wordpress.org/extend/plugins/wp-zjuem/</a></p>
<p>欢迎各位ZJUer下载试用，并且提意见和建议~</p>
<h4  class="related_post_title">看看 插件 , 表情</h4><ul class="related_post"><li>2015-03-30 -- <a target="_blank" href="http://blog.11034.org/2015-03/cordova_plugins.html" title="Cordova native API和开源插件">Cordova native API和开源插件</a></li><li>2010-12-05 -- <a target="_blank" href="http://blog.11034.org/2010-12/add_category_related_to_wp_related_posts.html" title="给wp-related-posts增加类目相关日志">给wp-related-posts增加类目相关日志</a></li></ul><h4 class="related_post_title">看看 Life in ZJU , Wordpress </h4><ul class="related_post"><li>2015-05-21 -- <a target="_blank" href="http://blog.11034.org/2015-05/yixing.html" title="2015浙大春季毅行，事迹达成">2015浙大春季毅行，事迹达成</a></li><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-05-15 -- <a target="_blank" href="http://blog.11034.org/2013-05/fan_error.html" title="小黑风扇坏两天，被逼看完一本书">小黑风扇坏两天，被逼看完一本书</a></li><li>2013-04-29 -- <a target="_blank" href="http://blog.11034.org/2013-04/lukao.html" title="路考过了，庆贺下">路考过了，庆贺下</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>wordpress发布文章时的Action事件</title>
		<link>http://blog.11034.org/2012-09/wordpress_post_actions.html</link>
		<comments>http://blog.11034.org/2012-09/wordpress_post_actions.html#comments</comments>
		<pubDate>Wed, 26 Sep 2012 13:08:32 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Action事件]]></category>
		<category><![CDATA[事件驱动]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=1322</guid>
		<description><![CDATA[昨天一网友加QQ询问关于wp-sns-share对于定时发布文章同步微博失效的问题，然后LZ才知道wordpr [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>昨天一网友加QQ询问关于wp-sns-share对于定时发布文章同步微博失效的问题，然后LZ才知道wordpress还支持定时发布文章文章这一神奇的功能，原来在发布文章的界面点击 “立即发布” 右边的编辑按钮选择一个未来的时间，再点击确定，就变成定时发布了。</p>
<p>wordpress实现定时发布的原理，模拟了一套CRON API，位于/wp-includes/cron.php。程序上并没有真正每分钟都去扫描一次而是在有用户访问的时候才去检测是否到了触发的时间，如果满足触发条件就新发起一个http请求（这样异步的方式不会阻塞原来那次http访问），坏处就是如果完全没有人访问的话，定时就失效啦，而且比较难做到很准时除非每分每秒都有访问量。</p>
<p>为了搞明白wp-sns-share对于定时发布文章同步微博失效的原因，对着wordpress源码调试了很久，顺带着把这块源码摸熟了不少，搞清楚了Action事件这一套路，值得讲一讲。</p>
<p><span id="more-1322"></span></p>
<p>绑定Action的add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1)函数，第四个要注意下，很多Action事件不只一个参数的，这样参数设置好可以在自己的函数里少执行一些数据库操作。</p>
<p>下面列举一些wordpress发布文章中会调用的Action事件，按顺利为：</p>
<p>涉及到的属性值，$post为文章对象，ID为文章ID，文章对象的post_status属性、post_type属性。</p>
<ul>
<li><strong>pre_post_update</strong> : 参数1个（$post_ID）。只要文章已经存在（有了ID）就会被触发，在文章内容被保存前触发。<strong><br />
</strong></li>
<li><strong>transition_post_status</strong> : 参数3个（$new_status, $old_status, $post）。比较通用的一个事件。</li>
<li><strong>{$old_status}_to_{$new_status} </strong>: 参数1个（$post）。比如<strong>future_to_publish</strong>事件可以很好地抓取定时文章发布，<strong>draft_to_publish</strong>事件则是普通文章发布的事件。</li>
<li><strong>{$new_status}_{$post-&gt;post_type} </strong>: 参数2个（$post-&gt;ID, $post）。比如众所周知的<strong>publish_post</strong>事件，这里的组合太多啦。</li>
<li><strong>edit_post </strong>: 参数2个（$post-&gt;ID, $post）。只要文章已经存在（有了ID）就会被触发。</li>
<li><strong>post_updated</strong> : 参数3个（$post_ID, $post_after, $post_before）。只要文章已经存在（有了ID）就会被触发。</li>
<li><strong>save_post</strong> : 参数2个（$post-&gt;ID, $post）。</li>
<li><strong>wp_insert_post</strong> : 参数2个（$post-&gt;ID, $post）。</li>
</ul>
<p>很清楚明了地可以发现，<strong>post_updated</strong>事件是最强大的最万能的，可以获取到最多的参数，包括文章修改前和修改后的所有内容；其次是 <strong>transition_post_status </strong>事件。而<strong>{$old_status}_to_{$new_status} </strong>和 <strong>{$new_status}_{$post-&gt;post_type} </strong>事件的针对性很强大，可以选择某一种特殊情况进行事件抓取。而<strong>edit_post </strong>、<strong>save_post</strong> 、<strong>wp_insert_post </strong>这3个事件就比较鸡肋，基本任何情况都会触发但却很难判断具体是哪种情况，建议不用。</p>
<p>发布、编辑文章的主要代码在/wp-includes/post.php里，主要函数wp_update_post、wp_insert_post等，可以好好看一下。</p>
<p>看源码是最靠谱的，而且也能学习到很多，wordpress的源码真心高深莫测！如果能把wordpress的源码全部看明白了，相信web设计和开发的能力就非常强大了。</p>
<h4  class="related_post_title">看看 Action事件 , 事件驱动</h4><ul class="related_post"><li>2013-05-19 -- <a target="_blank" href="http://blog.11034.org/2013-05/tomcat6.html" title="Tomcat6源码学习">Tomcat6源码学习</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-08-16 -- <a target="_blank" href="http://blog.11034.org/2012-08/fuck_renren.html" title="吐槽人人开放平台">吐槽人人开放平台</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2012-09/wordpress_post_actions.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>wp_sns_share更新至2.6，增加图片同步</title>
		<link>http://blog.11034.org/2012-08/wp-sns-share_2-6.html</link>
		<comments>http://blog.11034.org/2012-08/wp-sns-share_2-6.html#comments</comments>
		<pubDate>Wed, 29 Aug 2012 07:59:08 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[wp-sns-share]]></category>
		<category><![CDATA[人人网]]></category>
		<category><![CDATA[新浪]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=1248</guid>
		<description><![CDATA[大致上的更新内容已经在 wp_sns_share更新至新浪API2.0，实现图片同步 这篇文章中介绍了，主要将 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>大致上的更新内容已经在<a title="wp_sns_share更新至新浪API2.0，实现图片同步" href="/2012-07/sina_api_oauth_2.html" target="_blank"> wp_sns_share更新至新浪API2.0，实现图片同步</a> 这篇文章中介绍了，主要将新浪微博的API由1.0a升到了2.0，不仅仅为了避免1.0a版本的API即将无法使用的问题，更在于2.0版本的API可以支持同步的时候带上图片了，这相信大家会比较喜欢，博主为之已经奋斗好久了。然后在 <a title="吐槽人人开放平台" href="/2012-08/fuck_renren.html" target="_blank">吐槽人人开放平台</a> 这篇文章中说明了人人网同步的问题，代码都写好了就是APP不让审核通过十分懊恼，而且之前用用户名和密码的方法好像也行不通了，所以这个版本索性就去掉了人人网的同步，感觉似乎大家用的也不多。<span id="more-1248"></span></p>
<h4>插件更新</h4>
<ol>
<li>增加自动同步文章中第一张图片的功能（新浪微博、腾讯微博），后台可选择是否开启</li>
<li>新浪微博API升级为2.0（1.0将于9月失效），但是新浪认证2.0版本的授权会过期（15天），过期后会有相关提示，需要重新授权</li>
<li>改进编辑文章页面的widget，非默认选择下可自定义选择同步网站来进行同步</li>
<li>修复在首页分享栏分享时会变成分享第一篇文章内容，改为分享博客及简介</li>
<li>修复分享栏分享时IE浏览器的下的乱码BUG</li>
<li>增加Google+分享和Google+1按钮（大陆用户+1按钮慎用）</li>
<li>后台设置修改： 1)增加分享栏带上前台文章简介分享的选择 2)选择分享栏上下直线的功能，由选择关闭改为选择开启（默认开启）</li>
<li>添加新浪短url服务t.cn</li>
<li>取消不起作用的自定义微博来源设置</li>
<li>取消人人网同步，因为人人网APP无法通过审核，用户名密码模式失效</li>
</ol>
<p>新浪微博2.0版本的API有一点不好，就是授权Token会过期而且只有15天的有效期，当然插件会根据有效期当过期时作提醒需要用户重新授权，希望新浪早日支持refresh_token机制。</p>
<p>自定义微博来源好像没有那么简单，也没有见到哪个App应用可以实现这一点，所以也暂时先去掉了。</p>
<p>另外其实Twitter的OAuth授权和同步的代码也都已经完成，这个版本中因为安全问题暂时没有添加，下个版本考虑添加。</p>
<p>插件的成长少不了用户的关心和建议，感谢以下热心用户的建议：</p>
<ul>
<li><a href="http://phy25.com/" target="_blank">phy网友</a>：关于代码错误的报告</li>
<li><a href="http://wenai@live.cn" target="_blank">wenai网友</a>：关于首页中&lt;?php echo wp_sns_share() ?&gt;分享的是第一篇文章的问题</li>
</ul>
<h4  class="related_post_title">看看 OAuth , wp-sns-share , 人人网 , 新浪</h4><ul class="related_post"><li>2012-08-16 -- <a target="_blank" href="http://blog.11034.org/2012-08/fuck_renren.html" title="吐槽人人开放平台">吐槽人人开放平台</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li><li>2011-07-11 -- <a target="_blank" href="http://blog.11034.org/2011-07/wp-sns-share_2-3.html" title="wp-sns-share更新2.3">wp-sns-share更新2.3</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-16 -- <a target="_blank" href="http://blog.11034.org/2012-08/fuck_renren.html" title="吐槽人人开放平台">吐槽人人开放平台</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2012-08/wp-sns-share_2-6.html/feed</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>吐槽人人开放平台</title>
		<link>http://blog.11034.org/2012-08/fuck_renren.html</link>
		<comments>http://blog.11034.org/2012-08/fuck_renren.html#comments</comments>
		<pubDate>Thu, 16 Aug 2012 15:56:40 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[wp_sns_share]]></category>
		<category><![CDATA[人人网]]></category>
		<category><![CDATA[新浪]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=1224</guid>
		<description><![CDATA[为wp_sns_share 2.6努力中，自从将sina的OAuth改为2.0后，也想着将人人用用户名和密码改 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>为wp_sns_share 2.6努力中，自从将sina的OAuth改为2.0后，也想着将人人用用户名和密码改为OAuth实现，而人人网一直都用的OAuth2.0，开发难度并不大。的确，一番努力后还是比较顺利实现了OAuth授权和调用API的代码，而且人人网的OAuth2.0做得比新浪的好，因为它有refresh_token机制来使用代码自动延长授权时间而不是像新浪那样要引导用户手动进行再次授权。</p>
<p>不过人人网的API并不好，一则所有的API是统一URL，通过参数实现不同API的调用显得好不专业，而且还需要参数加密显得很麻烦。不过这些都是浮云，技术上的问题都不是问题！<span id="more-1224"></span></p>
<p>人人开放平台的审核机制那叫一个蛋疼无极限，首先让你填写各种隐私资料也就算了，还要上传身份证件图片，为了安全想想也算了，然后申请审核后，失败了（不得不说审核速度很快，感觉好像是机器自动审核的），一看问题居然是App的logo设置有问题，居然4个logo规定了各种大小的px不说还要自己去制定圆角图片，实在吐槽不能，不会根据一张图片自动来生成啊&#8230; 不懂PS搞个圆角图片还真费力！</p>
<p>为了wp_sns_share，继续忍了，再提交审核还是不通过，这次的问题就更无语了，说是App应用页面没有登录按钮，这尼玛你也管 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_evil.gif" alt=":evil:" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ？问题是这个蛋疼的审核我无法通过啊，我的应用在wordpress后台使用，光这个一般人就无法不经过登录直接看到登录按钮啊，然后这应用给广大wordpress用户又不是固定的url地址的应用，上哪儿去找个固定的url给人人审核去？ <img src="http://blog.11034.org/wp-includes/images/smilies/icon_evil.gif" alt=":evil:" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>没办法，邮件联系人人网开放平台的某个管理人员，态度十分一般完全没有想办法帮你解决的意思就是告诉你哪儿哪儿不符合规范了，给你个url自己去看啦，你妹！尼玛的真想爆粗口，最后还算冷静地嘲讽了一封邮件就不管了。</p>
<p>不知道还有没有办法去通过人人蛋疼的审核程序，估计2.6版本还是只能用用户名密码的方式先了 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_biggrin.gif" alt=":-D" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h4  class="related_post_title">看看 OAuth , wp_sns_share , 人人网 , 新浪</h4><ul class="related_post"><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li><li>2011-07-11 -- <a target="_blank" href="http://blog.11034.org/2011-07/wp-sns-share_2-3.html" title="wp-sns-share更新2.3">wp-sns-share更新2.3</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2012-08/fuck_renren.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>wp_sns_share更新至新浪API2.0，实现图片同步</title>
		<link>http://blog.11034.org/2012-07/sina_api_oauth_2.html</link>
		<comments>http://blog.11034.org/2012-07/sina_api_oauth_2.html#comments</comments>
		<pubDate>Thu, 19 Jul 2012 12:33:58 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[wp-sns-share]]></category>
		<category><![CDATA[新浪]]></category>
		<category><![CDATA[腾讯]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=1209</guid>
		<description><![CDATA[想实现新浪微博同步文章同步好久好久了，苦于在新浪API1.0下无论如何怎么尝试都行不通 （这篇博文中有介绍，半 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>想实现新浪微博同步文章同步好久好久了，苦于在新浪API1.0下无论如何怎么尝试都行不通 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_biggrin.gif" alt=":-D" class="wp-smiley" style="height: 1em; max-height: 1em;" /> （<a title="wp_sns_share更新2.4，添加同步博文摘要输出" href="/2012-01/wp-sns-share_2-4.html" target="_blank">这篇博文中有介绍</a>，半年前了），其实很早就想转到2.0版本的API，但是苦于2.0版本的应用必须填写一个固定的callback地址，而wordpress插件的性质决定callback的域名完全不一样，这看似无法实现，也就搁置了。最近收到新浪开发者邮件提示，9月份API1.0版本即将弃用，而且之前有网友提示有其他插件实现了图片同步这一功能，最近趁暑假有时间就来好好继续研究一番。<span id="more-1209"></span></p>
<p>下了那个wordpress插件，叫social-medias-connect，的确是一款很强大的插件，不过某些功能要收费，而且表示在wordpress 3.3下chrome下无法进行sns授权绑定（授权的url被urlencoding了，算是bug吧）。看其源代码，果然是用了新浪API2.0版本的，然后就好奇它是如何越过callback设置的，原来利用了中间网页作二次跳转，即申请了一个SAE应用（xxx.sinaapp.com）。恍然大悟之后，模仿一下也申请了一个SAE服务，然后所有的授权登陆都在SAE的服务器上进行，然后根据url参数将授权后的access_token发回到wordpress博客中进行保存就好了。</p>
<p>然后聊聊新浪微博API2.0版本，对于1.0来说真的是有很大改进，特别是容易程度，在OAuth和调API方面都是。在OAuth上，省去了一个步骤而且再也不用计算复杂的签名了，只有授权后的一个code参数和再发一次HTTP POST请求后拿到的access_token参数即可，太方便了。而在调用API上，也仅仅只要这个access_token和其他必须的参数即可，自己写代码是非常方便的事了，再也没有计算签名等复杂的工作，而且2.0版本的API加入了好多的新方法，虽然支持上传图片只需要url但却没有权限。然后就是简单的HTTP POST请求的代码了，很顺利地搞定了同步图片的功能，很开心 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 。</p>
<p>但是OAuth 2.0最大的不好处在于access_token是有有效期的，而且很短只有7-30天不等（根据应用的权限等级），这对于一次性的APP来说没有影响，但对于博客中插件来说却是比较致命的，等于说每过一个期限都要去重新登陆授权一下，挺麻烦的。</p>
<p>然后又去研究了下腾讯微博API，发现也更新了很多，而且也有了OAuth 2.0版本，但为了懒得改代码也绕开access_token有效期这个坏处，1.0照用而且有只需要传url就能上传图片的API，真棒，这个要赞一下 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_idea.gif" alt=":idea:" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 。于是腾讯微博也搞定了同步图片的功能。</p>
<p>这次的wp_sns_share插件加强了除以上功能外，还有不少新功能和其他改进的地方，此外还想实现twitter的微博同步（也是之前一直没搞定的），新版本2.6的更新还要过一段时间，要测试一下access_token过期后的表现和功能，估计8月应该能更新出来 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 。</p>
<h4  class="related_post_title">看看 API , OAuth , wp-sns-share , 新浪 , 腾讯</h4><ul class="related_post"><li>2011-07-11 -- <a target="_blank" href="http://blog.11034.org/2011-07/wp-sns-share_2-3.html" title="wp-sns-share更新2.3">wp-sns-share更新2.3</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li><li>2012-08-16 -- <a target="_blank" href="http://blog.11034.org/2012-08/fuck_renren.html" title="吐槽人人开放平台">吐槽人人开放平台</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2012-07/sina_api_oauth_2.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>wp_sns_share更新2.5</title>
		<link>http://blog.11034.org/2012-02/wp-sns-share_2-5.html</link>
		<comments>http://blog.11034.org/2012-02/wp-sns-share_2-5.html#comments</comments>
		<pubDate>Fri, 10 Feb 2012 12:59:33 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wp-sns-share]]></category>
		<category><![CDATA[人人]]></category>
		<category><![CDATA[新浪]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=1068</guid>
		<description><![CDATA[寒假之初，更新wp_sns_share到了2.4版本，按照网友的提示增加了摘要输出这一功能，但更新之后立即有网 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>寒假之初，更新wp_sns_share到了2.4版本，按照网友的提示增加了摘要输出这一功能，但更新之后立即有网友提示摘要输出没有剥去HTML标签这点需要改进，并提出是否能将摘要输出也应用到前台的分享栏。这次的插件有一半内容改进来自于网友的建议和自己的想法，还有一半功能想法来自于插件wp-connect，的确是很强大的一款插件，虽然稳定性还有待调试呵呵。<span id="more-1068"></span></p>
<h4>插件更新</h4>
<ol>
<li>增加人人网同步</li>
<li>改进微博同步时摘要的输出，删除HTML标签、XML标签和[ caption ]标签</li>
<li>在前段分享栏的微博分享中，也加入了摘要的输出</li>
<li>增加新浪微博、腾讯微博的自定义微博来源设置，需要申请APP并填写Key和Secret</li>
<li>新建、编辑文章页面，右侧添加一个widget控制当前文章保存、更新操作时是否同步，可跳过默认设置</li>
</ol>
<p>第1点，这里的人人网同步技术难度比较大，之前有想过要用OAuth的办法但是一直搞不定因为人人注册App时要求固定的callback链接，wordpress的插件肯定无法做到这一点，因为大家博客的地址都是不一样的，无法固定callback链接，导致App无法申请，同样道理新浪新一代的App也无法申请，依旧使用API1.0。然后人人网的同步就使用了最原始的用户名密码的方式，当然从安全性的角度考虑大家不用担心，只是将您的用户名和密码数据写入了数据库其他没有任何操作，代码是透明开源的，谁都可以查看，尽管放心。</p>
<p>第2点，[ caption ]标签是指wordpress自带的对图片引用的一个标签格式，即摘要里忽略图片链接。</p>
<p>第3点，只有新浪、腾讯、搜狐、网易、twitter微博有摘要分享的功能。</p>
<p>第4点来源设置，也是之前网友提示过的，这里也实现了，但是没有测试过，因为现在要自己再去申请一个新浪、人人之类的App，需要填写身份证信息等很多隐私信息，不高兴填，如果有网友使用过了可以起效或者存在bug尽请告知。</p>
<p>第5点，在新建文章、编辑文章那个后台页面的右侧添加了一个框（widget），用来对特定的文章保存、更新操作时可以跳过默认设置来单独设置同步或者不同步。比如可以在后台同步选项关闭的状态下强制同步一篇文章，也可以在后台设置没有点上更新文章也同步的选项时在更新文章时强制再同步一遍文章等。</p>
<p>寒假也结束了，今天刚回到学校，下周就正式开学了，各种情绪复杂，这个版本之后可能就要到暑假再有可能去实现某些新的想法了吧。十分感觉各位网友的建议，特别是<a href="http://blog.skeeterhouse.com/" target="_blank">蚊仔</a>网友的建议、<a href="http://blog.yrwr.net/" target="_blank">masy</a>网友提示了摘要标签问题，再次表示感谢。</p>
<h4  class="related_post_title">看看 wp-sns-share , 人人 , 新浪</h4><ul class="related_post"><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li><li>2011-07-11 -- <a target="_blank" href="http://blog.11034.org/2011-07/wp-sns-share_2-3.html" title="wp-sns-share更新2.3">wp-sns-share更新2.3</a></li><li>2011-04-05 -- <a target="_blank" href="http://blog.11034.org/2011-04/wp-sns-share_2-2.html" title="wp-sns-share更新2.2">wp-sns-share更新2.2</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2012-02/wp-sns-share_2-5.html/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>wp_sns_share更新2.4，添加同步博文摘要输出</title>
		<link>http://blog.11034.org/2012-01/wp-sns-share_2-4.html</link>
		<comments>http://blog.11034.org/2012-01/wp-sns-share_2-4.html#comments</comments>
		<pubDate>Thu, 19 Jan 2012 12:59:12 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[wp-sns-share]]></category>
		<category><![CDATA[新浪]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=1060</guid>
		<description><![CDATA[上个版本已经是去年暑假了，是该更新一个版本了。能改进的地方不多，比较有想法的是OAuth同步这块，想在同步博客 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>上个版本已经是去年暑假了，是该更新一个版本了。能改进的地方不多，比较有想法的是OAuth同步这块，想在同步博客时自动发现博客中的图片并上传到微博，还有一点就是带上摘要输出，当然最好再加上人人、twitter之类的OAuth认证和同步。这次比较懒，只先做了摘要输出，并修复了新浪微博同步中的中文URL问题。其实对于发送图片有研究并捣鼓了2个下午的新浪API，无奈一直搞不定，先作罢。<span id="more-1060"></span></p>
<h4>插件更新</h4>
<ol>
<li>微博同步时，增加博客名和博文摘要的输出</li>
<li>新浪微博同步时，url用url编码处理，可以支持中文url了</li>
<li>增加functions.php，放一些公用lib函数</li>
</ol>
<p>做摘要输出，比较难的就是微博的字数控制，新浪微博和腾讯微博都是140个字数限制，仔细观察发现中文、日文、图形符号之类的特殊字符都是1个字符占1个字数，而英文字符、标点和数字（即ASCii字符）每2个占1个字数。因为不像Java用Unicode来存字符串，PHP需要逐一对字符串中的字符作分析，这样就要搞懂UTF-8字符集的原理，wiki了下还是挺简单的很有规律，于是就好办了。</p>
<p>具体规则见：<a href="http://zh.wikipedia.org/zh-cn/UTF-8">http://zh.wikipedia.org/zh-cn/UTF-8</a></p>
<p>简单的就是：</p>
<ul>
<li>对于UTF-8编码中的任意字节B，如果B的第一位为0，则B为ASCII码，并且B独立的表示一个字符;</li>
<li>如果B的第一位为1，第二位为0，则B为一个非ASCII字符（该字符由多个字节表示）中的一个字节，并且不为字符的第一个字节编码;</li>
<li>如果B的前两位为1，第三位为0，则B为一个非ASCII字符（该字符由多个字节表示）中的第一个字节，并且该字符由两个字节表示;</li>
<li>如果B的前三位为1，第四位为0，则B为一个非ASCII字符（该字符由多个字节表示）中的第一个字节，并且该字符由三个字节表示;</li>
<li>如果B的前四位为1，第五位为0，则B为一个非ASCII字符（该字符由多个字节表示）中的第一个字节，并且该字符由四个字节表示;</li>
</ul>
<p>至于URL的问题，新浪微博需要手动将URL给urlencode化，于是中文就变成了%XX这种比较难看的形式，而腾讯微博则会自动转化。</p>
<p>再说说新浪上传图片的upload API，的确比较麻烦，因为App申请的比较早，用的新浪1.0版本的OAuth和API，不知道怎么回事就是出错，又不能切换成新一代的2.0版OAuth和API，因为要绑定callback，wp_sns_share的callback随域名而变化不可能绑定一个固定的callback，所以同理导致人人网的App根本就无法申请，╮(╯_╰)╭。</p>
<p>等啥时候实在闲了又有兴趣了再去搞屡战屡败的新浪微博upload API和twitter的OAuth吧，哎，弱爆了 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h4  class="related_post_title">看看 OAuth , wp-sns-share , 新浪</h4><ul class="related_post"><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2011-07-11 -- <a target="_blank" href="http://blog.11034.org/2011-07/wp-sns-share_2-3.html" title="wp-sns-share更新2.3">wp-sns-share更新2.3</a></li><li>2012-08-16 -- <a target="_blank" href="http://blog.11034.org/2012-08/fuck_renren.html" title="吐槽人人开放平台">吐槽人人开放平台</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2012-01/wp-sns-share_2-4.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>wp-sns-share更新2.3</title>
		<link>http://blog.11034.org/2011-07/wp-sns-share_2-3.html</link>
		<comments>http://blog.11034.org/2011-07/wp-sns-share_2-3.html#comments</comments>
		<pubDate>Mon, 11 Jul 2011 15:38:11 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[wp-sns-share]]></category>
		<category><![CDATA[新浪]]></category>
		<category><![CDATA[腾讯]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=932</guid>
		<description><![CDATA[从2.2升级到2.3过了3个多月，这段时间赶上了毕业季，还有就是等着Wordpress更新3.2，然后更好地来 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>从2.2升级到2.3过了3个多月，这段时间赶上了毕业季，还有就是等着Wordpress更新3.2，然后更好地来推出这次的新版本。这次版本开发花了足足有一周多的时间，从深入研究OAuth开始，利用开源OAuth库去开发新浪微博、腾讯微博和Twitter的应用，再到学习css-sprite技术优化插件加载图片的效率，最后优化代码做了很多的小改动，十分地花心思。强烈建议升级哦，免费包邮给好评哦亲 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ！<span id="more-932"></span></p>
<h4>插件功能更新</h4>
<ol>
<li>增加腾讯微博实时可与博客同步更新</li>
<li>后台可直接发送内容到新浪、腾讯微博，并可@作者</li>
<li>后台增加分享栏预览</li>
<li>后台增加控制SNS图标间隔的控制，方便保持分享栏的美观</li>
<li>应热心网友要求，添加饭否网的分享链接，更改QQ空间图标</li>
<li>应热心网友要求，添加分享栏在文章上或下的选择</li>
<li>应热心网友要求，添加分享栏可以在首页等其他区域显示，调用&lt;?php echo wp-sns-share();?&gt;</li>
</ol>
<h4>插件技术更新</h4>
<ol>
<li>放弃使用新浪微博sdk，采用开源OAuth库实现，减少代码量</li>
<li>所有图片合并为一张图，利用css sprite效果展示，减少http连接显著增进插件速度</li>
<li>将插件的php代码与后台的html、js代码分离，后者放入/page目录</li>
</ol>
<h4>微博开放平台，OAuth与API</h4>
<p>wp-sns-share 2.1中引入的新浪微博同步更新是使用了新浪的SDK工具，一切新浪都给包装好了，用起来十分方便。由于此次想引入多个微博系统的同步，同时加载多个SDK是不明智的，于是就放弃SDK，下载一套开源的OAuth库，然后自己开发一套通用库。几天来学习研究OAuth的原理和流程，磕磕碰碰地将代码给敲出来了，感觉很棒。不完美的一点是，Twitter的OAuth已经顺利搞定，但是拿着Token每每调用其API去发推就失败，至今没有查出原因，可以推到下一个版本实现。</p>
<h4>CSS-sprite和图片合并</h4>
<p>将所有的图片合并是一个great idea，大大减少了对图片的HTTP请求，然后利用css-sprite把大图中的小图定位出来，效果十分不错。惟独难的一点就是，要做大量前台的HTML和CSS的工作，不擅长这个的确搞的很辛苦，用firebug一个一个css效果调过来。这里要感谢前台大牛兼PS高手<a href="http://www.zjuhpp.com" target="_blank">zjuhpp</a>同学的大力帮助。</p>
<h4>热心网友支持</h4>
<p>还是有不少热心网友给wp-sns-share提出不少建议的，此次功能更新点5、6、7都是出自网友的提议，尽最大的努力实现了。</p>
<h4>可能的问题</h4>
<p>由于涉及到前台环境，作者也没有太擅长前台编程，而Wordpress主题的千万性和各种浏览器的差异性，可能会导致某些博客前台的SNS图标分享栏效果显示有异常，原因是掺杂了主题本身的CSS效果进去。还有就是后台的微博登录认证过程，网速、偶然等因素都可能会造成OAuth认证失败，等二次登陆需要清空Session即重启浏览器实现，这点需要注意。</p>
<p>插件Wordpress官方下载地址：<a title="wp-sns-share" href="http://wordpress.org/extend/plugins/wp-sns-share/" target="_blank">http://wordpress.org/extend/plugins/wp-sns-share/</a></p>
<h4  class="related_post_title">看看 OAuth , wp-sns-share , 新浪 , 腾讯</h4><ul class="related_post"><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li><li>2012-08-16 -- <a target="_blank" href="http://blog.11034.org/2012-08/fuck_renren.html" title="吐槽人人开放平台">吐槽人人开放平台</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2011-07/wp-sns-share_2-3.html/feed</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>wp-sns-share更新2.2</title>
		<link>http://blog.11034.org/2011-04/wp-sns-share_2-2.html</link>
		<comments>http://blog.11034.org/2011-04/wp-sns-share_2-2.html#comments</comments>
		<pubDate>Tue, 05 Apr 2011 09:54:17 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wp-sns-share]]></category>
		<category><![CDATA[新浪]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=825</guid>
		<description><![CDATA[清明时节雨纷纷，路上行人欲断魂。借问酒家何处有？ 牧童遥指杏花村。 杭州难得的清明一个大晴天，祭亲的好日子，踏 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>清明时节雨纷纷，路上行人欲断魂。借问酒家何处有？ 牧童遥指杏花村。</p>
<p>杭州难得的清明一个大晴天，祭亲的好日子，踏青的好日子。趁着小长假，wordpress中文SNS分享插件wp-sns-share也更新至2.2版本。此次版本更新既涉及前台SNS图标列表，也涉及后台新浪微博同步功能，十分建议更新哦。</p>
<p><span id="more-825"></span></p>
<p>wp-sns-share 2.2 更新：</p>
<ul>
<li>改善SNS图标列表前台显示效果，增加动态背景突出显示</li>
<li>更改QQ空间图标，由腾讯主页的ico改为QQ空间的五角星ico</li>
<li>新浪同步功能，增加选择发布文章和更新文章时候分开的同步选择</li>
<li>进一步规范代码，增加注释</li>
</ul>
<p>前台的效果借鉴了搜狐网文章页分享栏的效果，哈哈，不过代码完全是自己实现的哦。QQ空间的图标一直想用最初的那个，就是五角星外还有个圆圈的，但是现在网上不太找不到旧版本的ico文件了，就用新版的ico了。</p>
<p>代码中，用isset()取代!empty()的判断方法。更新数据库和处理后台提交的函数增加注释。</p>
<p>新浪微博，添加了微博同步选项一栏，有“<strong>发布文章时</strong>”和“<strong>更新文章时</strong>”2个选项供勾选，这样可以自定义修改文章时的同步行为。</p>
<p>这边要说下的一点是，<strong>本插件已成功通过新浪开发平台App审核</strong>，所有通过本插件发送的微博应该会显示来源于wp_sns_share。申请这个新浪开放平台App不容易啊，多次向新浪申请审核应用，开始被很搞笑的理由给拒绝审核通过了。打电话问官方，给的理由居然是“新浪App只允许新浪独家的分享，不允许有其他别的站点的分享”，这个太无语了……</p>
<p>最后，希望对此插件有兴趣的童鞋能使用愉快 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_wink.gif" alt=":wink:" class="wp-smiley" style="height: 1em; max-height: 1em;" />  若大家碰到任何BUG或有新的功能建议，十分欢迎您到这里向我报告！</p>
<p>博客插件主页：<a href="/2010-08/wp-sns-share.html" target="_blank">http://blog.11034.org/2010-08/wp-sns-share.html</a></p>
<p>wordpress官方下载地址：<a href="http://wordpress.org/extend/plugins/wp-sns-share/" target="_blank">http://wordpress.org/extend/plugins/wp-sns-share/</a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 分割线：2011-4-13 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>哈哈，这几天灵感一激，把某些描述改了一下，wp_sns_share终于通过了新浪开放平台的审核！</p>
<h4  class="related_post_title">看看 wp-sns-share , 新浪</h4><ul class="related_post"><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li><li>2011-07-11 -- <a target="_blank" href="http://blog.11034.org/2011-07/wp-sns-share_2-3.html" title="wp-sns-share更新2.3">wp-sns-share更新2.3</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2011-04/wp-sns-share_2-2.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>wp-sns-share2.1添加新浪微博同步</title>
		<link>http://blog.11034.org/2011-02/wp-sns-share-2-1_add_sina_sync.html</link>
		<comments>http://blog.11034.org/2011-02/wp-sns-share-2-1_add_sina_sync.html#comments</comments>
		<pubDate>Sun, 20 Feb 2011 07:26:01 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wp-sns-share]]></category>
		<category><![CDATA[微博]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=791</guid>
		<description><![CDATA[在wordpress.org.cn上，推广wp-sns-share的帖子（http://wordpress.o [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>在wordpress.org.cn上，推广wp-sns-share的帖子（<a title="http://wordpress.org.cn/thread-77656-1-1.html" href="http://wordpress.org.cn/thread-77656-1-1.html" target="_blank">http://wordpress.org.cn/thread-77656-1-1.html</a>）挺受大家欢迎和好评的，众网友也给出了不少建议，特别是关于SNS和微博的博客文章同步功能。这点要说明一下，博客同步是需要其他网站的开放API支持的，只有SNS和微博有相应的接口开放，才能相应地开发同步的功能到插件中去。于是这次选择了比较火热的新浪微博，每次发送wordpress文章的时候，都会自动发送自定义格式的微博字符串到新浪微博，实时自动地同步！欢迎大家使用，并提供建议~</p>
<p><span id="more-791"></span></p>
<p>首先，更新或安装wp-sns-share到2.1后，可以先设置前面sns图标选择和一些输出配置，配套的说明也比较详细，一般默认即可。在新浪微博同步一栏，如果想要开启微博同步功能的话，先在开启框上打个勾，然后下面点击新浪Logo图标登陆新浪认证，用户通过新浪授权给插件wp-sns-share成功后，页面将自动提交保存信息，然后就可以在后台发送微博，或发布wordpress文章同步更新到新浪微博了。过程中的新浪微博授权，是采用新浪的OAuth认证，过程中用户输入的用户名和密码信息都是在新浪的页面上，并没有在wordpress和插件wp-sns-share的页面中，所以用户不必担心用户名和密码会被别人知晓或被插件保存。OAuth认证是现在比较流行的无须将账号信息交付于第三方的一种良好的授权方式，也很安全。成功发送微博后，刷新插件页面会发现有一行提示上一条已成功发布的微博原文或者发送失败时的错误信息。</p>
<p><strong>PS:</strong>今天下午一段时间，在新浪发布带有http的链接时被告知微博内容非法而禁止发布，大概到5点之后就被修复了。真是吓死我了，插件刚发布就搞这么吓人，如果真的不能发布http链接的话插件就要改了，我都想紧急发布2.1.1修复版本了，幸好幸好&#8230;真是个悲剧，如今原本的2.1版本能正常工作！</p>
<p>此次更新因为涉及到新浪API的问题，仅在自己博客和测试博客上用自己注册的账号测试了下，而相应的新浪应用并没有申请提交官方认证，因为限制只有调用次数和调用用户到达一定数量后才能申请提交。所以如果碰到有任何问题，请尽快在本博客留言告知，谢谢啦！</p>
<p>wp-sns-share 2.1更新：</p>
<ol>
<li>新浪微博同步</li>
<li>增加插件列表页面中，直接进入插件控制面板的“设置”链接</li>
<li>增加SNS图标横栏中对hr横线的输出选择；对调用函数wp-sns-share()统一化，无需任何参数，返回结果需要echo输出</li>
<li>更加规范化了代码，加入了更多的注释</li>
</ol>
<p>插件官方下载地址：<a title="http://wordpress.org/extend/plugins/wp-sns-share" href="http://wordpress.org/extend/plugins/wp-sns-share" target="_blank">http://wordpress.org/extend/plugins/wp-sns-share</a></p>
<p>插件集合信息及历史版本地址：<a title="http://blog.11034.org/2010-08/wp-sns-share.html" href="/2010-08/wp-sns-share.html" target="_blank">http://blog.11034.org/2010-08/wp-sns-share.html</a></p>
<h4  class="related_post_title">看看 wp-sns-share , 微博</h4><ul class="related_post"><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2011-02/wp-sns-share-2-1_add_sina_sync.html/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>抛弃边栏widget的自动显示</title>
		<link>http://blog.11034.org/2011-02/throw_away_auto_widget.html</link>
		<comments>http://blog.11034.org/2011-02/throw_away_auto_widget.html#comments</comments>
		<pubDate>Mon, 14 Feb 2011 13:35:52 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=784</guid>
		<description><![CDATA[博客最近收到不少博友的交换友情链接的提议，当然只要符合要求都给加上了。慢慢问题就出来了，链接多了导致友情链接这 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>博客最近收到不少博友的交换友情链接的提议，当然只要符合要求都给加上了。慢慢问题就出来了，链接多了导致友情链接这个侧栏widget十分的长，而且因为是多行一列的形式排列，右边却大片空白，不匀称又浪费了空间，而且由于博客主题设定的侧栏比较窄，排成2列的话名称比较长的链接会显示不全，只能通过自己写代码通过字数判断来分类从而2列化，基本想法就是这样。</p>
<p><span id="more-784"></span></p>
<p>wordpress有一个十分酷的功能就是后台可以拖拽操作边栏页面的widget，很自由从而插件可以制作自己的widget来方便使用。不过自动化程度再高，都比不上需求变化来得快，因为这一切都由wordpress后台自动为你完成而不是在任何主题和插件的代码中，导致你根本不能修改任何代码，更加不能个性化自己的ideas了。而对于懂得控制wordpress代码的人来说，一块博客上至关重要的区域却不能完全掌控它的代码实现，这是难以容忍的。</p>
<p>抛弃边栏widget的自动显示和后台拖拽吧，通过修改主题自带的sidebar.php来个性化完全由自己掌控的侧边栏！</p>
<p>边栏widget的自动显示由dynamic_sidebar()函数实现，一般默认会在sidebar.php中被调用。别急着把这段代码删了，先去博客页面打开源代码，将一个widget的整个HTML代码框架copy下来，然后就可以自己随意插入想要的widget了，只要修改调用的函数即可。譬如以下一段代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">&lt;div class=&quot;widget&quot;&gt;
	&lt;h3&gt;widget名称&lt;/h3&gt;
	&lt;ul&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> wp_list_categories<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'title_li=&amp;amp;categorize=0&amp;amp;show_count=1'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;/ul&gt;
&lt;/div&gt;</pre></td></tr></table></div>

<p>每一个不同的的widget只需要复制一下这段代码，修改一下标题和调用的php函数就可以了。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">类目录：wp_list_categories<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>，categorize<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> 表示不分类别，show_count<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span> 显示文章数目
标签云：wp_tag_cloud<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
连接表：wp_list_bookmarks<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>，category<span style="color: #339933;">=</span>num 指定类别的term_id
存档表：wp_get_archives<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>，show_post_count<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span> 显示存档文章数量
&nbsp;
每个API中不同参数，可以在网上搜索或看API源代码，源代码内一般会有一个数组，里面有参数的名称和默认值</pre></td></tr></table></div>

<p>这样侧边栏你还只有掌控了一半，因为要实现链接分栏的功能，是不能直接调用wp_list_bookmarks()的，于是继续抛弃wordpress的内置函数吧，自己写！其实就从wp_links表里面读取链接并按照&lt;li&gt;link&lt;/li&gt;的形式输出，简单的不能再简单了。期间碰到了一个小问题，链接的类别信息并不是直接存在wp_links表内的，想要得到link与类别相关信息，必须要连接3张表十分复杂，然后发现自己分类的规则简单，可以直接从wp_links表的link_rel属性是me还是friend区分出来。接下去就简单了，将strlen(link_title) &gt; maxSize的链接拎出来放在底下，其余就能乖乖地排成整齐的2排了，最后在css上动一些手脚，就搞定了~</p>
<p>自己动手的感觉十分爽！</p>
<h4  class="related_post_title">随便看一看</h4><ul class="related_post"><li>2010-12-31 -- <a target="_blank" href="http://blog.11034.org/2010-12/summary_2010.html" title="总结，@2010">总结，@2010</a></li><li>2010-10-03 -- <a target="_blank" href="http://blog.11034.org/2010-10/some_feeling_on_national_day.html" title="国庆节有感">国庆节有感</a></li><li>2025-05-19 -- <a target="_blank" href="http://blog.11034.org/2025-05/singapure_kul.html" title="25五一新马游">25五一新马游</a></li><li>2010-04-30 -- <a target="_blank" href="http://blog.11034.org/2010-04/highschool.html" title="回高中">回高中</a></li><li>2010-11-28 -- <a target="_blank" href="http://blog.11034.org/2010-11/domain_change_to_stariy-org.html" title="域名更换">域名更换</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2011-02/throw_away_auto_widget.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>wp-sns-share更新2.0</title>
		<link>http://blog.11034.org/2011-01/wp-sns-share_2-0.html</link>
		<comments>http://blog.11034.org/2011-01/wp-sns-share_2-0.html#comments</comments>
		<pubDate>Fri, 31 Dec 2010 17:11:16 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[wp-sns-share]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=743</guid>
		<description><![CDATA[2011到来了，新年新气象，先祝大家新年快乐，新的一年里万事大吉，大家的博客也越办越好 本次wp-sns-sh [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>2011到来了，新年新气象，先祝大家新年快乐，新的一年里万事大吉，大家的博客也越办越好 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>本次wp-sns-share插件可谓大作修改，更新之后后台操作性更强，更美观了，也应了某热心网友的要求加入了SNS分享图标切换顺序的问题，正好就在这2011的元旦发布这2.0版本。<span id="more-743"></span></p>
<p>首先分享链接又增加了网易微博、Google书签、Google Buzz和linkedin的分享链接，其中linkedin默认不开启。在1.4版本的时候就想加入网易微博了，但是一直没搞定，不知道为什么就是分享失败，原来是因为URL后面带的source参数是不能随便填的，比如一般个人博客就不行，必须得是网易允许的网站，比如网易微博、百度百科和土豆网这样的，实在比较恶心，无奈统一设定来源为网易微博，于是就可以正常分享了。Google书签和Buzz，其实我不怎么用，而且Buzz也算是一个不太成功的产品，不过偶尔听闻有同学还是在玩的，就加上了。本来还想加入Google Reader分享的，怎知这个分享方式与其他所有网站区别很大，到现在还没有搞定集成在一起，争取下个版本努力吧！</p>
<p>前台的分享链接顺序问题，这的确是一个不错的idea，十分高兴有热心网友能告诉我。一开始觉得实现难度有点大比较麻烦，1.4版本并没有去做。其实在后台用jQuery实现还是很方便的，浏览器之间兼容也不错，这样大家不仅能订制自己喜欢的SNS出现在前台，还能控制它们的顺序，更加个性化了。</p>
<p>后台的显示，统一切换成wordpress风格的表格框，自我感觉好看了很多，呵呵。同时，加入了很多说明，比如对tinyurl功能的说明。</p>
<p>欢迎大家使用，也请使用者能慷慨说出您的体验，如果发现有BUG请及时联系我或者在博客上留言都行 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_wink.gif" alt=":wink:" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>wp-sns-share官方下载地址：<a href="http://wordpress.org/extend/plugins/wp-sns-share/">http://wordpress.org/extend/plugins/wp-sns-share/</a></p>
<h4  class="related_post_title">看看 Google , wp-sns-share</h4><ul class="related_post"><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-10-17 -- <a target="_blank" href="http://blog.11034.org/2013-10/google.html" title="Google校招">Google校招</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2011-01/wp-sns-share_2-0.html/feed</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>wp-sns-share更新至1.4</title>
		<link>http://blog.11034.org/2010-12/wp-sns-share_update_to_1-4.html</link>
		<comments>http://blog.11034.org/2010-12/wp-sns-share_update_to_1-4.html#comments</comments>
		<pubDate>Thu, 16 Dec 2010 13:55:49 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[wp-sns-share]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=726</guid>
		<description><![CDATA[之前的4个版本，插件后台和前台都是英文的，想想这款插件是完完全全为中文环境设置的，选择的SNS和微博大多数都是 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>之前的4个版本，插件后台和前台都是英文的，想想这款插件是完完全全为中文环境设置的，选择的SNS和微博大多数都是国内的，国外除了twitter和facebook，于是就把readme文件和显示系统全部翻译回中文，顺便添加一个搜狐微博的分享链接，这就是1.4版本了。</p>
<p>搜狐微博的链接很简单，API也很好用，另外其实我还做了网易微博，谁知此家的开放API十分的难用<span id="more-726"></span>，条件检测十分复杂严密，不仅仅需要文章题目和URL，还需要网站的名字和域名信息，因为懒得再用php将这些信息再存入&lt;input hidden&gt;里面，发现可以从&lt;link rel=index&gt;中取出来，用jQuery去取会比较方便，但又不是每个wordpress都会将jQuery源文件加入，很纠结。最无语的仅有的几次发送成功我也实在看不出和发送失败之间URL的区别在哪里&#8230;暂时就放弃了，有空在下个版本解决这个问题吧。</p>
<p>还有另外一方面是ico文件，在网上找到了一个将其他图片格式转化为ico的软件，感觉很不错，叫ToYcon的小软件，做的很pp也实用。其实应该将所有的ico拼成一张大图，然后用css切割去显示，这样能大大减少请求服务器的次数，可惜css对这方面不熟悉，看啥时候有空也有兴趣了学习一下。</p>
<p>不仅将英文改成了中文，readme的写法也从别的插件那边学来不少，在wordpress官方下载页面更漂亮也更简洁了，也加了不少带到自己博客的链接。</p>
<p>最后，希望对此插件有兴趣的童鞋能使用愉快 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_wink.gif" alt=":wink:" class="wp-smiley" style="height: 1em; max-height: 1em;" />  若大家碰到任何BUG，十分欢迎您到这里向我报告！</p>
<p>wordpress官方下载地址：<a title="wp-sns-share" href="http://wordpress.org/extend/plugins/wp-sns-share/" target="_blank">http://wordpress.org/extend/plugins/wp-sns-share/</a></p>
<h4  class="related_post_title">看看 jQuery , wp-sns-share</h4><ul class="related_post"><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2010-12/wp-sns-share_update_to_1-4.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>wordpress中播放音乐</title>
		<link>http://blog.11034.org/2010-12/play_music_in_wordpress.html</link>
		<comments>http://blog.11034.org/2010-12/play_music_in_wordpress.html#comments</comments>
		<pubDate>Tue, 14 Dec 2010 12:33:46 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=719</guid>
		<description><![CDATA[写上篇日志的时候，想试着在文章中插入音乐播放一下mp3，大多数官方的博客系统如sina博客、人人网这些都支持的 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>写上篇日志的时候，想试着在文章中插入音乐播放一下mp3，大多数官方的博客系统如sina博客、人人网这些都支持的不错，于是心血来潮也要尝试一把。</p>
<p>wordpress更新到3.6之后，就自带音乐播放器了，[ audio mp3=&#8221;&#8221; autoplay=&#8221;1&#8243; ][ /audio ]标签很容易用，最适合用了。</p>
<p><span id="more-719"></span></p>
<ul>
<li>wordpress插件</li>
</ul>
<p>首先想到的当然是这个，网上随便一搜就会找到很多，用了一个叫wpaudio-mp3-player的插件，据说此插件作者说其他音乐播放插件都是渣，就冲他这个牛气，用了一下，很方便而且效果的确也是不错的，可以解析[wpauido]或[ audio ]标签，最终效果全由HTMl+CSS+JS形成，也比较美观。缺点是解析标签后的HTML文本十分巨大，CSS和JS巨复杂，而且在IE8下有点不太兼容，继续BS IE不解释。</p>
<p>多装一个插件对wordpress绝对不是好事情，而且是一个很少会被用到的前台插件，95%的页面会浪费加载插件所需的css和js，大概有十几K，性价比实在低，用了一天就被我删了。</p>
<ul>
<li>copy现有音乐播放器</li>
</ul>
<p>以前写过一篇文章播放了优酷的视频，直接将人人网那部分代码给copy过来就只能ok了，优酷本来就推荐大家站外分享视频。但是音乐播放器有一点不一样，直接copy代码是肯定可以起作用的，但万一碰到人人网挂掉或代码更新或来一个站外防盗链措施，这样copy就立即失效了。</p>
<p>具体看一下人人网的音乐播放器的代码可知道它是由flash制作的，很美观控制也方便，让我惊喜的是网页直接输入这个flash可以被下载下来，欣喜若狂，接下去就简单了，把flash文件上传到自己的wordpress站点，然后将copy的代码的flash路径修改掉，在路径后接上一个?加上mp3文件的URL路径就可以正常工作了，实在比较兴奋，在公司里一大早活也不干先把这事搞定了，哈哈 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" class="wp-smiley" style="height: 1em; max-height: 1em;" />  最后还可以给播放器包装一个[ caption ]标签，和插入图片一样，可以写上标题，还可以控制居左、居右和居中。</p>
<p>综合说，性价比高，对不放音乐的页面完全没有影响，但要了解web开发的基础知识，会用HTML编辑器手动加入代码。就是有点不太厚道，直接就把人家辛苦成果给copy过来了，嘿嘿</p>
<p>最后效果见：<a title="绝代双骄" href="/2010-12/绝代双骄.html" target="_blank">http://blog.stariy.org/2010-12/绝代双骄.html</a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-乱入&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>吃晚饭的时候想明白了一个事，为啥最近有事没事就在搞博客：在北京太空闲太无聊太寂寞太空虚啦，没办法，只能搞搞博客给自己带来点成就感&#8230;</p>
<h4  class="related_post_title">看看 IE</h4><ul class="related_post"><li>2010-08-27 -- <a target="_blank" href="http://blog.11034.org/2010-08/ie_has_no_fault_tolerance.html" title="IE容错性之差无法容忍">IE容错性之差无法容忍</a></li><li>2010-03-18 -- <a target="_blank" href="http://blog.11034.org/2010-03/ie_is_tragedy.html" title="IE就是个悲剧…">IE就是个悲剧…</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2010-12/play_music_in_wordpress.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>给wp-related-posts增加类目相关日志</title>
		<link>http://blog.11034.org/2010-12/add_category_related_to_wp_related_posts.html</link>
		<comments>http://blog.11034.org/2010-12/add_category_related_to_wp_related_posts.html#comments</comments>
		<pubDate>Sun, 05 Dec 2010 12:35:48 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[插件]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=695</guid>
		<description><![CDATA[wp-related-posts是国人水煮鱼开发的一个十分赞的插件，它在文章页面增加显示与当前文章的tag相同 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>wp-related-posts是国人水煮鱼开发的一个十分赞的插件，它在文章页面增加显示与当前文章的tag相同的其他文章的链接，推荐给读者，当没有tag（标签）相关文章时，它随机选择文章推荐，而且在RSS中也有效果。有点不认同作者逻辑的是为啥选择tag相关呢？所以我很多的文章都只能随机推荐文章，或者推荐1-2篇tag相关文章，其实类目相关才是更加明显而且每篇文章都会有一个显然的类目，而不一定有tag。于是自己动手，丰衣足食咯 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_rolleyes.gif" alt=":roll:" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <span id="more-695"></span></p>
<p>由于tag、类目涉及了wordpress3个数据表，结构比较复杂，先简单解释一下wp_posts、wp_term_relationships、wp_term_taxonomy和wp_terms的关系，它们分别为文章内容表、文章对应的term表、term与term类型表、term表，其中term包括tag、文章类目、链接类目、链接项等。它们之间的关系如下图：</p>
<p><img class="aligncenter size-full wp-image-697" title="wp_tables" src="/wp-content/uploads/2010/12/wp_tables.jpg" alt="wp_tables" width="645" height="144" /></p>
<p>一篇文章，有一个在wp_posts中的ID，然后在wp_term_relationships表中可以找到若干项terms（包括文章的类别和tags），然后在wp_term_taxonomy表中可以找到这些terms的类型说明和term_id，然后根据term_id在wp_terms表中找到term的名字。</p>
<p>好了接下去就是修改wp-related-posts了：</p>
<ul>
<li>修改链接属性target为_blank</li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> wp_get_related_posts<span style="color: #009900;">&#40;</span><span style="color: #339933;">......</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$related_posts</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$related_post</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #339933;">......</span>
            <span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span>  <span style="color: #0000ff;">'&lt;a target=&quot;_blank&quot; href=&quot;'</span><span style="color: #339933;">.</span>get_permalink<span style="color: #009900;">&#40;</span><span style="color: #000088;">$related_post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>  <span style="color: #339933;">......</span>
            <span style="color: #339933;">......</span>
      <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<ul>
<li>增加文章类目相关</li>
</ul>
<p>新增函数function wp_get_related_catgory_posts($content)，首先用get_the_category()这个wordpress内置的函数获取将类目包装的一个数组，处理后获取到$cat_id_list就可去数据库找相关的文章了。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$q</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT p.ID, p.post_title, p.post_date, count(t_r.object_id) as cnt
      FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_taxonomy</span> t_t, <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_relationships</span> t_r, <span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span> p
      WHERE t_t.taxonomy ='category' AND t_t.term_taxonomy_id = t_r.term_taxonomy_id
      AND t_r.object_id  = p.ID AND (t_t.term_id IN (<span style="color: #006699; font-weight: bold;">$cat_id_list</span>)) AND p.ID != <span style="color: #006699; font-weight: bold;">$post-&gt;ID</span>
      AND p.post_status = 'publish' AND p.post_date_gmt &lt; '<span style="color: #006699; font-weight: bold;">$now</span>'
      GROUP BY t_r.object_id ORDER BY cnt DESC, p.post_date_gmt DESC <span style="color: #006699; font-weight: bold;">$limitclause</span>;&quot;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>用这句巨长的sql语句查出相关文章的记录后，剩下的就是将内容拼接为HTML罢了，其中用到内置函数get_permalink($related_post->ID)来获取文章自定义的URL，基本就没啥了。</p>
<p>最后修改调用的函数，有2部分，文章显示和RSS显示的</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> wp_related_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> wp_get_related_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//add by stariy --start</span>
	<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> wp_get_related_catgory_posts<span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//add by stariy --end</span>
&nbsp;
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> wp_related_posts_auto<span style="color: #009900;">&#40;</span><span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$wp_rp</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wp_rp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>is_single<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$wp_rp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;wp_rp_auto&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">||</span><span style="color: #009900;">&#40;</span>is_feed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$wp_rp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;wp_rp_rss&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> wp_get_related_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//add by stariy --start</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> wp_get_related_catgory_posts<span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//add by stariy --end</span>
&nbsp;
		<span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$content</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>这样就大功告成啦，感觉效果还不错，对原来插件代码的修改也是尽可能的少，基本就增加了一个新的函数。然后试用后发现唯一的缺点是，当你的类目相关和tag相关文章重复，这就是比较尴尬的问题了，由于我是另起一个函数处理类目相关，与tag相关的处理是独立的，要解决这个问题十分麻烦。不过万幸的是，发现这种现象出现的很少，基本类目信息和tag信息是不太一样的，但如果你硬把一篇文章归位Java类，然后tag再来个Java，那就悲剧了&#8230;</p>
<p>源代码就发布在这个增强的wp-related-posts插件里吧</p>
<p><a href="/wp-content/uploads/2010/12/wp-related-posts-enhanced.zip">wp-related-posts-enhanced.zip</a></p>
<h4  class="related_post_title">看看 RSS , 插件</h4><ul class="related_post"><li>2015-03-30 -- <a target="_blank" href="http://blog.11034.org/2015-03/cordova_plugins.html" title="Cordova native API和开源插件">Cordova native API和开源插件</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2010-11-28 -- <a target="_blank" href="http://blog.11034.org/2010-11/domain_change_to_stariy-org.html" title="域名更换">域名更换</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2010-12/add_category_related_to_wp_related_posts.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>推荐2个wordpress插件和几个tips</title>
		<link>http://blog.11034.org/2010-11/two_wordpress_plugins_and_some_tips.html</link>
		<comments>http://blog.11034.org/2010-11/two_wordpress_plugins_and_some_tips.html#comments</comments>
		<pubDate>Tue, 30 Nov 2010 12:47:27 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Adsense]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=681</guid>
		<description><![CDATA[自从域名换了后，这几天可真忙，从域名设置到空间设置，从博客设置到设置Google Adsense、Analyt [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>自从域名换了后，这几天可真忙，从域名设置到空间设置，从博客设置到设置Google Adsense、Analytics、Webmaster，然后博客中图片的URL和链接问题，最后是数据库方便的处理，目的是将任何有关老域名的项都更新掉。期间遇到不少问题从而发现了这2个插件和几个tips，推荐一下。<span id="more-681"></span></p>
<ul>
<li>wp-optimize：优化数据库的插件</li>
</ul>
<p>发现到博客设置URL后，文章中的图片仍然没有更新URL，一开始以为是记录在数据库中的内容使然，原因倒不是这个，下面具体讲，发现了wp_post表的异常，只有50篇文章，50来张图片的站居然有600+项的记录，一看内容发现每篇文章的内容都重复了好几条存在表里，然后发现这些冗余的项的post_type字段值大都为revision，也有几个是post，原来只有post才是真正那篇文章的数据，而其他的revision记录都是你在写文章时候多次更新留下的每次的记录，这些明显是没有多大意义的。wp-optimize帮你干的就是这个事情，当然你直接操控数据库执行sql也可以，一下子就把wp_post减少了500条记录，大小减少了1.5M左右，插件还带一些其他的数据库优化，具体不知，能把其他一些数据表优化几K到几十K不等的大小，十分推荐。</p>
<ul>
<li>google-analyticator：Google Analytics的插件（有利有弊，仅介绍，见仁见智）</li>
</ul>
<p>看名字就知道这个插件干嘛用的了，它自动帮你插入Google Analytics的统计代码，然后与你的Analytics账户绑定，然后再就是提供一个widget（侧栏小工具）来从Analytics获取访问用户的信息，也很美观，感觉还是不错的，见右边栏“博客脚印”。至于你用不用Google Analytics，那就看你了，个人表示还蛮不错的。</p>
<p>不过感觉这个插件有点臃肿庞大，其实最实际的功能就是自动帮你加了Analytics的统计代码，其他功能有利有弊。功能越多，而且还要和Google去打交道，时间会占用不少，导致网页访问变慢，还有往数据表wp_options插入的数据条目也相当多。后台集成的Analytics数据的查看也鸡肋，还不如直接上Analytics上去看不是更快更详细。</p>
<p>同时，我也用百度统计，感觉也还行，和Google Analytics的数据稍微有点偏差，但不是很多，不知道哪个是比较准确的。但不爽的一点，是百度统计你每次访问都要验证码登陆，麻烦。</p>
<ul>
<li>tip1：在后台上传图片时，图片文件名不要带非ASC字符的</li>
</ul>
<p>简单说就是文件名不要带中文，不然会导致上传到wordpress upload目录下的文件名为乱码（至少我这边是这样），博客中图片还是可以访问的，但是当你点击图片进入图片页后，图片就无法显示了，但是继续点击链接进入纯图片显示，倒又可以了 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_eek.gif" alt="8-O" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ，还有在后台媒体库图片也无法显示。也许可以通过修改图片乱码文件名，然后同步数据库来纠正，这样就很麻烦了。</p>
<ul>
<li>tip2：上传图片后自动生成的HTML代码，将图片的链接去掉</li>
</ul>
<p>现在的wordpress版本会将图片用[ caption ]&lt;a&gt;&lt;img&gt;的标签顺序将图片嵌入文章（见HTML编辑器），而2.9时候的wordpress却不是，那时候仅仅一个&lt;img&gt;标签，用[ caption ]嵌套还是不错的，解析后变为div标签，方便控制HTML和CSS，但个人感觉&lt;a&gt;就没什么用了，图片在文章中能看就好，没必要单独生成另外一个图片页，这个图片页是类似文章的一个页面，而不是单纯的图片，URL是“文章URL/图片名”，默认显示300*255的图片，这就是为什么你的图片上传后会在服务器目录中有时候会有一张名为“name-300*255.jpg”的图片文件了。文章中的图片本来就没啥点击，点击也是增加服务器和数据库负担，或者可以将链接改为直接的图片链接而不是图片页，在浏览器中显示原始大小的图片供用户下载。</p>
<ul>
<li>tip3：用Google Adsense中的搜索取代wordpress自带的搜索</li>
</ul>
<p>如我右边栏所示，怎么着Google的搜索能力要比wordpress内部靠like去匹配要强大的多吧，你还可以在搜索页去设置Adsense。方法是申请Adsense后，申请一个搜索广告，然后将这个广告设置为只在给定网站内搜索，比如设置为http://blog.11034.org/，就好了。当然你可以设置为在internet中搜索，个人爱好。</p>
<p>实习一个多月了，百度今天终于发工资了，虽然比预想中要少一点T_T，还扣了好多税继续T_T，最后还是开心下吧，有钱吃饭了 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_redface.gif" alt=":oops:" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h4  class="related_post_title">看看 Adsense , Google</h4><ul class="related_post"><li>2013-10-17 -- <a target="_blank" href="http://blog.11034.org/2013-10/google.html" title="Google校招">Google校招</a></li><li>2011-10-14 -- <a target="_blank" href="http://blog.11034.org/2011-10/google_2012_campus.html" title="Google2012校招笔试">Google2012校招笔试</a></li><li>2011-06-11 -- <a target="_blank" href="http://blog.11034.org/2011-06/google_doodle_guitar.html" title="2011-6-9 Google Doodle之电子琴">2011-6-9 Google Doodle之电子琴</a></li><li>2011-01-08 -- <a target="_blank" href="http://blog.11034.org/2011-01/search_engine.html" title="2个月的搜索引擎状况">2个月的搜索引擎状况</a></li><li>2011-01-01 -- <a target="_blank" href="http://blog.11034.org/2011-01/wp-sns-share_2-0.html" title="wp-sns-share更新2.0">wp-sns-share更新2.0</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2010-11/two_wordpress_plugins_and_some_tips.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>wp-sns-share-1.2，增加tinyurl功能</title>
		<link>http://blog.11034.org/2010-09/wp-sns-share_add_tinyurl.html</link>
		<comments>http://blog.11034.org/2010-09/wp-sns-share_add_tinyurl.html#comments</comments>
		<pubDate>Wed, 29 Sep 2010 14:58:41 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[wp-sns-share]]></category>

		<guid isPermaLink="false">http://blog.stariy.info/?p=441</guid>
		<description><![CDATA[最近断断续续看了一些常用的插件的源码，对wordpress插件开发掌握又多了一些，很早就琢磨着更新一下wp-s [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>最近断断续续看了一些常用的插件的源码，对wordpress插件开发掌握又多了一些，很早就琢磨着更新一下wp-sns-share了。今天公司一点事也没有，无聊逛twitter的时候，看到好多人分享的链接都是http://tinyurl.com/<br />
<h3></h3>
<p>这样的，研究了一下，原来是tinyurl.com推出的一项服务，将本来很长的url转化为短url，有点意思。其实很早就发现了，貌似delicious也有类似功能，不过一直没怎么注意。心血来潮，今天直接就把插件更新了，添加了tinyurl的功能。<span id="more-441"></span></p>
<p>tinyurl.com也支持用代码调API来生成url，网上只搜到PHP的，那最好不过了，代码很简单，就一行</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$tiny</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://tinyurl.com/api-create.php?url='</span><span style="color: #339933;">.</span><span style="color: #000088;">$postURL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>使用tinyurl服务，要调它的API，很显然访问速度会慢一点，在localhost就特别明显，放在服务器上好像感觉不太出来，可能是因为本来就是美国的服务器，互相调速度比较快吧。同时，这次插件用户体验做的更好一些，允许用户选择是否启用tinyurl服务，默认不开启，毕竟会玩这个东西的人是少数吧~</p>
<p>不过比较郁闷的一点，人人网、QQ空间、百度空间的分享都不支持tinyurl，人人说分享带非法内容，QQ空间说URL不合法，百度说标题不合法，一个比一个乱来，可恶。豆瓣、新浪博客、twitter都是可以的，facebook待明天上班去公司翻墙测试。</p>
<p>此次插件更新，还多了是否自动输出分享栏的功能，默认选上auto就和原来一样，用 add_filter(&#8216;the_content&#8217;,function)来把内容添加进去，如果选manual，就需要自己将新加入的 wp_sns_share()函数放入主题文件中，这样可控性比较强，也可以自己调整css。</p>
<p>经过此次插件开发经历，发现wordpress插件开发用OO思想建立一个class并不是一个好的选择，命名空间独立这个问题完全可以用函数前缀来实现。</p>
<p>插件下载地址：<a title="http://wordpress.org/extend/plugins/wp-sns-share/" href="http://wordpress.org/extend/plugins/wp-sns-share/" target="_blank">http://wordpress.org/extend/plugins/wp-sns-share/</a> 明天把代码更新上去</p>
<h4  class="related_post_title">看看 oop , wp-sns-share</h4><ul class="related_post"><li>2014-07-07 -- <a target="_blank" href="http://blog.11034.org/2014-07/ruby_on_rails.html" title="ruby on rails">ruby on rails</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2012-12-06 -- <a target="_blank" href="http://blog.11034.org/2012-12/ac_automachine.html" title="一个OOP的AC自动机代码">一个OOP的AC自动机代码</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2010-09/wp-sns-share_add_tinyurl.html/feed</wfw:commentRss>
		<slash:comments>54</slash:comments>
		</item>
		<item>
		<title>wp-postviews的防刷新的处理</title>
		<link>http://blog.11034.org/2010-09/wp-postviews_do_with_page_refresh.html</link>
		<comments>http://blog.11034.org/2010-09/wp-postviews_do_with_page_refresh.html#comments</comments>
		<pubDate>Tue, 14 Sep 2010 15:11:34 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[cookie]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://blog.stariy.info/?p=411</guid>
		<description><![CDATA[wp-postviews是很好用的一款用来统计每篇文章pv（page view）的插件，还能在sidebar提 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>wp-postviews是很好用的一款用来统计每篇文章pv（page view）的插件，还能在sidebar提供一个top view的小工具，十分赞，是为数不多的wordpress博客必备的插件之一。不过它有一个不足，就是pv不防刷新，即你对同一篇文章短时间内刷新几次，就是几个pv，而这样的pv是毫无意义的，就起了个念头来改善一下。<span id="more-411"></span></p>
<p>很显然，要记录访问者短时间内访问的每一篇文章，cookie是必须出场的，当然记录的是每篇文章的post id号。能读取到cookie中的所有已阅的文章id，就可以控制是否对此文章的pv更新+1了，在wp-postviews的wp-postviews.php里的process_postviews()函数里插入一个自己的判断函数即可。</p>
<p>然后一个很大的问题就是何时写入cookie并点击新文章时更新cookie，在wp-postviews.php里面是不行的，因为前面已经有输出了，此处不能写入cookie，比较棘手。然后在主题的single.php试了一下，居然可以，那就在这里写cookie吧。由于在主题的大循环（single.php的显示文章部分）外，无法使用get_the_ID()这个API，而基本上所有的博客都会采用路径重写，而不是默认的/?p=id这种形式，后来发现，在single.php可以使用一个$posts的全局变量，里面有本次请求的基本参数，不了解的同学去print_r()就知道啦，解决了文章id的获取，就可以使用setcookie来写入和更新cookie了。</p>
<p>试了一下基本没问题，IE、FF、Chrome都支持。很奇怪的一点，为什么single.php是可以操纵写入cookie呢？照理来说，这个文件之前已经有HTML输出了，是应该不能写cookie的，而且我尝试在single.php和wp-postviews.php 2个文件的顶端同时调用exit()，是后者的先出来。这说明先调到了插件计数，然后再显示页面的，但却前面的不能写cookie，后面的反而可以，疑惑了&#8230;不知道wordpress是怎么处理的 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_question.gif" alt=":?:" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>技术部分就到这儿了，另外发现一个奇怪的地方，仅在于Firefox。进入一篇文章的页面，居然cookie里面有2个id，后来发现第二个id是此篇文章的下一篇，即head中&lt;link rel=&#8217;next&#8217; /&gt;标签。百度后发现，浏览器会根据这标签提前加载页面，相当于同时打开了2篇文章。个人感觉这个功能很鸡肋，起码在wordpress中是如此，看那篇文章完全是因为文章的内容来吸引访问者，又不是RSS，按顺序一篇一篇读下去。不知道算是FF的一个优势还是一个败笔。</p>
<p>贴一下代码：<br />
wp-postviews.php的process_postviews()中$post初始化后添加2行：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>check_cookie<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #b1b100;">return</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>wp-postviews.php加入函数：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> check_cookie<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$COOKNAME</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'CookieViews'</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$cookie</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_COOKIE</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$COOKNAME</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cookie</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$list</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'a'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$cookie</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>single.php写cookie部分，放在最顶端</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$COOKNAME</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'CookieViews'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$TIME</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">3600</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">24</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$PATH</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$posts</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$expire</span> <span style="color: #339933;">=</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$TIME</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$cookie</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_COOKIE</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$COOKNAME</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cookie</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">setcookie</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$COOKNAME</span><span style="color: #339933;">,</span> <span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$expire</span><span style="color: #339933;">,</span> <span style="color: #000088;">$PATH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$list</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'a'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$cookie</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #990000;">setcookie</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$COOKNAME</span><span style="color: #339933;">,</span> <span style="color: #000088;">$cookie</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'a'</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$expire</span><span style="color: #339933;">,</span> <span style="color: #000088;">$PATH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h4  class="related_post_title">看看 cookie , Firefox</h4><ul class="related_post"><li>2010-12-04 -- <a target="_blank" href="http://blog.11034.org/2010-12/google_page_speed.html" title="加速你的网站，Google page speed">加速你的网站，Google page speed</a></li><li>2010-03-18 -- <a target="_blank" href="http://blog.11034.org/2010-03/ie_is_tragedy.html" title="IE就是个悲剧…">IE就是个悲剧…</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2010-09/wp-postviews_do_with_page_refresh.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>开发wordpress插件：wp-sns-share</title>
		<link>http://blog.11034.org/2010-08/wp-sns-share.html</link>
		<comments>http://blog.11034.org/2010-08/wp-sns-share.html#comments</comments>
		<pubDate>Sat, 28 Aug 2010 07:16:17 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wp-sns-share]]></category>

		<guid isPermaLink="false">http://blog.stariy.info/?p=338</guid>
		<description><![CDATA[wordpress有各种各样的插件，基本上能满足广大用户的平常需求。我有一个想法，因为我很水校内，就是现在的人 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>wordpress有各种各样的插件，基本上能满足广大用户的平常需求。我有一个想法，因为我很水校内，就是现在的人人网，如果能把每篇博客上的文章分享到校内上，这样自己的同学朋友们就都能看到自己最新的文章，并且能给自己的博客带来点击量，一举两得。于是，自己就起了开发插件这个想法。在wordpress.org上有找到类似的免费插件，但都是针对国外的SNS，专为国人设计的还真没有，于是自己动手，丰衣足食。<span id="more-338"></span></p>
<p>开发的这个插件，名叫wp-sns-share，就是让大家能把自己写的文章分享到自己喜欢的SNS网站，现在支持的有人人、开心、豆瓣、新浪微博、百度空间、QQ空间，还有twitter和facebook，如果你能翻墙的话，也是一个不错的选择。然后在后台，用户可以自己定制选择出现在前台的SNS网站选项，当你把博文分享到各大SNS和微博，你的同学朋友们和粉丝们看到了博文的链接和简介，便会给你的博客带来巨大的流量，也让大家看到了写的文章。</p>
<p>其实开发插件并没有想象中那么难，找一下教程然后一步一步学习下来就好了，只要你有一些PHP、JS、HTML的基础即可。主要是wordpress最重要的几个API的使用，add_adtion()和add_filter()，作为一个hook的概念，add_adtion处理某个事件，add_filter处理各个部分文本的输出控制。比如add_filter(“the_content”,function) 就可以将自己的function绑定到前台文章生成的地方。</p>
<p>虽然国内有一些专业的分享网站提供的工具，不过它们并不属于wordpress内部的一个结构，你每次点击图标分享文章都要先通过它们的网站，比如比较有名的jiathis、shareto等，都是基于商业网站的模式的，你完全依赖于它们的运作。</p>
<p>wp-sns-share开源免费，轻巧方便，最重要的是以插件的形式集成在wordpress中，你拥有代码的掌控权，如果你想你可以按照自己的意愿改动代码。后期的版本中，加入了URL缩短功能并逐渐齐全了国内所有微博和大部门的SNS网站，这一点是国内类似插件和工具少有的。</p>
<p>希望大家多多支持，如果在使用过程中有碰到BUG或者意见和建议，希望能告知我帮助改进！</p>
<p>前台图示：</p>
<div style="width: 701px" class="wp-caption aligncenter"><img class="size-full" title="wp-sns-share分享栏" src="/wp-content/uploads/2010/08/wp-sns-share_bar.jpg" alt="wp-sns-share分享栏" width="691" height="96" /><p class="wp-caption-text">wp-sns-share分享栏</p></div>
<p>微博同步图示：</p>
<div id="attachment_1075" style="width: 597px" class="wp-caption aligncenter"><img class="size-full wp-image-1075" title="新浪微博同步图示" src="/wp-content/uploads/2010/08/screenshot-1.png" alt="新浪微博同步图示" width="587" height="159" /><p class="wp-caption-text">新浪微博同步图示</p></div>
<p>wordpress.org官方下载地址：<a title="http://wordpress.org/extend/plugins/wp-sns-share/" href="http://wordpress.org/extend/plugins/wp-sns-share/" target="_blank">http://wordpress.org/extend/plugins/wp-sns-share/</a></p>
<p><a title="wp_sns_share更新至2.6，增加图片同步" href="/2012-08/wp-sns-share_2-6.html" target="_blank">wp-sns-share 2.6：</a></p>
<ul>
<li>增加自动同步文章中第一张图片的功能（新浪微博、腾讯微博），后台可选择是否开启</li>
<li>新浪微博API升级为2.0</li>
<li>改进编辑文章页面的widget，非默认选择下可自定义选择同步网站来进行同步</li>
<li>修复在首页分享栏分享时会变成分享第一篇文章内容，改为分享博客及简介</li>
<li>修复分享栏分享时IE浏览器的下的乱码BUG</li>
<li>添加新浪短url服务t.cn</li>
<li>取消不起作用的自定义微博来源设置</li>
<li>取消人人网同步，因为人人网APP无法通过审核，用户名密码模式失效</li>
</ul>
<p><a title="wp-sns-share 2.5" href="/2012-02/wp-sns-share_2-5.html" target="_blank">wp-sns-share 2.4 &amp; 2.5：</a></p>
<ul>
<li>微博同步和前台分享栏，增加博客名和博文摘要的输出（自动删除HTML标签、XML标签和标签）</li>
<li>增加人人网同步</li>
<li>增加新浪微博、腾讯微博的自定义微博来源设置，需要申请APP并填写Key和Secret</li>
<li>新建、编辑文章页面，右侧添加一个widget控制当前文章保存、更新操作时是否同步，可跳过默认设置</li>
</ul>
<p><a title="wp-sns-share 2.3" href="/2011-07/wp-sns-share_2-3.html" target="_blank">wp-sns-share 2.3：</a></p>
<ul>
<li>增加腾讯微博实时可与博客同步更新</li>
<li>后台可直接发送内容到新浪、腾讯微博，并可@作者</li>
<li>后台增加分享栏预览</li>
<li>后台增加控制SNS图标间隔的控制，方便保持分享栏的美观</li>
<li>添加饭否网的分享链接，更改QQ空间图标</li>
<li>添加分享栏在文章上或下的选择</li>
<li>添加分享栏可以在首页等其他区域显示，调用&lt;?php echo wp-sns-share();?&gt;</li>
<li>放弃使用新浪微博sdk，采用开源OAuth库实现，减少代码量</li>
<li>所有图片合并为一张图，利用css sprite效果展示，减少http连接显著增进插件速度</li>
<li>将插件的php代码与后台的html、js代码分离，后者放入/page目录</li>
</ul>
<p><a title="wp-sns-share 2.2" href="/2011-04/wp-sns-share_2-2.html" target="_blank">wp-sns-share 2.2：</a></p>
<ul>
<li>改善SNS图标列表前台显示效果，增加动态背景突出显示</li>
<li>更改QQ空间图标，由腾讯主页的ico改为QQ空间的五角星ico</li>
<li>新浪同步功能，增加选择发布文章和更新文章时候分开的同步选择</li>
<li>进一步规范代码，增加注释</li>
</ul>
<p><a title="wp-sns-share 2.1" href="/2011-02/wp-sns-share-2-1_add_sina_sync.html" target="_blank">wp-sns-share 2.1：</a></p>
<ol>
<li>新浪微博同步</li>
<li>增加插件列表页面中，直接进入插件控制面板的“设置” 链接</li>
<li>增加SNS图标横栏中对hr横线的输出选择；函数wp-sns-share()无需任何参数，结果需要echo输出</li>
<li>更加规范化了代码，加入了更多的注释</li>
</ol>
<p><a title="wp-sns-share 2.0" href="/2011-01/wp-sns-share_2-0.html" target="_blank">wp-sns-share 2.0：</a></p>
<ol>
<li>应热心网友要求，增加sns分享图标前后顺序控制</li>
<li>增加网易微博、Google书签、Google Buzz、linkedin的分享</li>
<li>增进后台界面美观度，并带有更详细的介绍说明</li>
</ol>
<p><a href="/2010-12/wp-sns-share_update_to_1-4.html" target="_blank">wp-sns-share 1.4：</a></p>
<ol>
<li>增加搜狐微博分享</li>
<li>将插件中文化</li>
</ol>
<p>wp-sns-share 1.3：</p>
<ol>
<li>增加腾讯微博分享</li>
</ol>
<p><a href="/2010-09/wp-sns-share_add_tinyurl.html" target="_blank">wp-sns-share 1.2：</a></p>
<ol>
<li>增加显示开关，开启则自动显示在文章底部，关闭的话可以自己使用wp_sns_share()函数在任意地方调用</li>
<li>增加tinyurl功能，默认不开启</li>
<li>增加删除插件的选择，显示插件所占数据表的项</li>
</ol>
<p>wordpress.org官方下载地址：<a title="http://wordpress.org/extend/plugins/wp-sns-share/" href="http://wordpress.org/extend/plugins/wp-sns-share/" target="_blank">http://wordpress.org/extend/plugins/wp-sns-share/</a></p>
<h4  class="related_post_title">看看 wp-sns-share</h4><ul class="related_post"><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li><li>2012-07-19 -- <a target="_blank" href="http://blog.11034.org/2012-07/sina_api_oauth_2.html" title="wp_sns_share更新至新浪API2.0，实现图片同步">wp_sns_share更新至新浪API2.0，实现图片同步</a></li><li>2012-02-10 -- <a target="_blank" href="http://blog.11034.org/2012-02/wp-sns-share_2-5.html" title="wp_sns_share更新2.5">wp_sns_share更新2.5</a></li><li>2012-01-19 -- <a target="_blank" href="http://blog.11034.org/2012-01/wp-sns-share_2-4.html" title="wp_sns_share更新2.4，添加同步博文摘要输出">wp_sns_share更新2.4，添加同步博文摘要输出</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2010-08/wp-sns-share.html/feed</wfw:commentRss>
		<slash:comments>226</slash:comments>
		</item>
		<item>
		<title>wordpress评论模块：邮件回复评论</title>
		<link>http://blog.11034.org/2010-08/email_reply_in_wordpress.html</link>
		<comments>http://blog.11034.org/2010-08/email_reply_in_wordpress.html#comments</comments>
		<pubDate>Sun, 22 Aug 2010 06:58:23 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.stariy.info/?p=296</guid>
		<description><![CDATA[刚升级了wordpress 3.0.1，各种评论插件用了个遍，折磨了我整整2天，终于搞定，和大家分享下。 wo [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>刚升级了wordpress 3.0.1，各种评论插件用了个遍，折磨了我整整2天，终于搞定，和大家分享下。</p>
<p><span id="more-296"></span>wordpress主流评论插件有：</p>
<ul>
<li>wordpress-thread-comment</li>
</ul>
<p style="padding-left: 60px;">优点：前台支持Ajax提交评论；后台支持支持邮件回复</p>
<p style="padding-left: 60px;">缺点：会覆盖前台原本的评论模块的CSS效果；后台邮件只对QQ邮箱起作用，对ZJU和Gmail的邮箱都发送失败(在wordpress 3.0.1中)</p>
<ul>
<li>subscribe-to-comments</li>
</ul>
<p style="padding-left: 60px;">说明：支持邮件回复，订阅整篇博文的评论</p>
<p style="padding-left: 60px;">缺点：要么选择不订阅邮件回复，要么就订阅这篇blog下的所有评论回复，和自己有关没关的都会发邮件；邮件对QQ邮箱和ZJU邮箱起作用，Gmail依旧失效</p>
<ul>
<li>comment-reply-notification</li>
</ul>
<p style="padding-left: 60px;">说明：通过wp_mail()函数发送邮件</p>
<p style="padding-left: 60px;">优点：不牵涉前台评论，只关注后台发邮件，自定义邮件格式</p>
<p style="padding-left: 60px;">缺点：自我测试版本<strong>1.3</strong>与WP3.0.1不兼容，后台一个$_POST的参数引用错误导入邮件无法发送</p>
<ul>
<li>wp-mail-smtp</li>
</ul>
<p style="padding-left: 60px;">说明：对wp_mail()的smtp功能扩展</p>
<p style="padding-left: 60px;">优点：用任一公开smtp服务的邮件服务器（比如Gmail）可以发信，甚至可以在localhost环境下发，兼容所有邮箱</p>
<p style="padding-left: 60px;">缺点：不感知WP中的评论回复，意思就是它只是增强了wp_mail的功能，却没有在适当的时候去调用它发送邮件</p>
<p>于是，comment-reply-notification(BUG修复后)加wp-mail-smtp就形成了一个很好的组合，采取smtp发邮件，另外一个好处是发件人就是真实的博主邮箱，这样方便与博友直接在邮箱中交流，博友可以直接回复邮件就行。</p>
<p>具体comment-reply-notification（版本1.3）的BUG地点在：115行的 function email($id)中的$_POST[&#8216;comment_parent&#8217;]，经Debug发现，$_POST并没有comment_parent字段，类似的是comment_ID字段，不知道是不是wordpress从2.9升到3.0的修改，于是修改一下就好啦。</p>
<p>我修改后的代码：</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> email<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$comment_parent_id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment_ID'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #990000;">mysql_escape_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment_parent_id</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #cc66cc;">0</span>
        <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #990000;">mysql_escape_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment_post_ID'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$id</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>options<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mail_notify'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'none'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>mailer<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span><span style="color: #990000;">mysql_escape_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment_parent_id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            <span style="color: #990000;">mysql_escape_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment_post_ID'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$id</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>ps：comment-reply-notification最新版本1.4貌似已经解决了这个问题</p>
<h4  class="related_post_title">随便看一看</h4><ul class="related_post"><li>2013-06-14 -- <a target="_blank" href="http://blog.11034.org/2013-06/falcom_ys6.html" title="永远的伊苏6：纳比斯汀的方舟">永远的伊苏6：纳比斯汀的方舟</a></li><li>2014-10-04 -- <a target="_blank" href="http://blog.11034.org/2014-10/rails-has_many.html" title="Rails中has_many等的原理">Rails中has_many等的原理</a></li><li>2013-11-28 -- <a target="_blank" href="http://blog.11034.org/2013-11/lige.html" title="彩云之南-泸沽湖，里格村">彩云之南-泸沽湖，里格村</a></li><li>2011-09-17 -- <a target="_blank" href="http://blog.11034.org/2011-09/moon_of_west_lake.html" title="平湖秋月，听湖赏月">平湖秋月，听湖赏月</a></li><li>2010-03-26 -- <a target="_blank" href="http://blog.11034.org/2010-03/bus_traffic_in_trilogy.html" title="实习坐公交的一些事儿">实习坐公交的一些事儿</a></li></ul><h4 class="related_post_title">看看 Wordpress </h4><ul class="related_post"><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li><li>2012-08-29 -- <a target="_blank" href="http://blog.11034.org/2012-08/wp-sns-share_2-6.html" title="wp_sns_share更新至2.6，增加图片同步">wp_sns_share更新至2.6，增加图片同步</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2010-08/email_reply_in_wordpress.html/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>blog新生</title>
		<link>http://blog.11034.org/2010-08/blog_new_life.html</link>
		<comments>http://blog.11034.org/2010-08/blog_new_life.html#comments</comments>
		<pubDate>Sun, 22 Aug 2010 06:31:23 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[博客建站]]></category>

		<guid isPermaLink="false">http://blog.stariy.info/?p=291</guid>
		<description><![CDATA[2010年8月18日 在http://themes.wopus.org/上浏览了好久，敲定使用新的主题icav [&#8230;]]]></description>
				<content:encoded><![CDATA[<ul>
<li><strong>2010年8月18日</strong></li>
</ul>
<div id="attachment_292" style="width: 410px" class="wp-caption alignright"><img class="size-full wp-image-292" title="icavy-one主题" src="/wp-content/uploads/2010/08/home.jpg" alt="" width="400" height="237" /><p class="wp-caption-text">icavy-one主题</p></div>
<p>在http://themes.wopus.org/上浏览了好久，敲定使用新的主题icavy-one，主要是奔着KISS（keep it simple and stupid）原则去的，一个简洁的网站更舒适。icavy-one天然支持评论框笑脸表情，最赞的是站顶的图片可以随意更改+pp的透明导航栏，感觉很好。</p>
<p>然后对不满意的地方各种修改，Firefox + Firebug的配合真是太爽，有点PHP和CSS基础的我修改起来十分顺手。首先是左侧边栏，显著了RSS链接；其他就是对各块地方的文字大小、字体等样式的修改，文章的文字样式采用我以前的主题jq，感觉统一的宋体太单调不好看，另增大了字号。</p>
<p>途中发现了Wordpress2.9导出数据很大的问题，不知道算不算它的Bug。首先导出没有链接，这是一个缺陷；最大的问题在于分类目录，可以把所有的类别信息导出，但是类别之间的层次关系却被丢弃了，这个在备份博客数据和转移博客的时候比较懊恼。</p>
<p><span id="more-291"></span></p>
<ul>
<li><strong>2010年8月19日</strong></li>
</ul>
<p>将RSS订阅详细化，加入了Google、鲜果、抓虾的订阅链接，而且很简单，图片链接+相应网站的URL就可以了，订阅图片来源于CSDN博客。在文章末尾加入分享链接，加入了很多常见SNS网站的分享链接，这边需要一些JS代码，准备将这个功能做成一个插件来发布，嘿嘿。这边介绍一个网站：http://www.jiathis.com/。 提供了RSS订阅和SNS分享的很好的集成，不过我还是喜欢用自己写代码去搞定，反正也不难。</p>
<p>然后开始搞评论。icavy-one的评论系统比较难看，是为数不多的不足之一，感觉kid（http://blog.pluskid.org，赞一下那张院衫的图）的主题的评论模块十分棒，本来想直接抄CSS的，但是没想到2个Wordpress的评论模块的代码竟然是不一样的，大概是版本不一致，改WP核心代码是不推荐的。没办法，自己硬着头皮按自己的想法改CSS…</p>
<p>接下来就是把初步新博客上架。Wordpress扩展性真是好，直接网上升级，啥都不需要改，2.9就奔到了3.0.1，换了主题后一个崭新的blog就诞生了，很开心。</p>
<ul>
<li><strong>2010年8月21-22日</strong></li>
</ul>
<p>为了一个评论模块纠结了2-3天，不知道是不是wordpress刚升级版本3的缘故，好多自动评论回复邮件的插件都工作不了，不断请教不断上搜索引擎，终于搞定了，详情我会在另一篇博客中说明。</p>
<p>最崩溃的是这几天空间商老出问题，接连碰到1次read only和2次网站crash，后者时间不长，第二次是半个小时左右。和空间上的客服邮件交流了好多好多，比较赞的一点是客服很及时，态度也很好。我现在的空间是：Backy LLC (<a href="http://hdesk.us/">http://hdesk.us/</a>)，最大的特点是便宜，访问速度还行，对于人气不大的需求是足够了。</p>
<h4  class="related_post_title">随便看一看</h4><ul class="related_post"><li>2010-08-05 -- <a target="_blank" href="http://blog.11034.org/2010-08/java_io_nio.html" title="Java学习之IO与NIO篇">Java学习之IO与NIO篇</a></li><li>2013-11-28 -- <a target="_blank" href="http://blog.11034.org/2013-11/erhai_paradise.html" title="彩云之南：《洱海天堂》">彩云之南：《洱海天堂》</a></li><li>2011-07-21 -- <a target="_blank" href="http://blog.11034.org/2011-07/hk_90_movies.html" title="回味香港90年代电影，大爱王祖贤">回味香港90年代电影，大爱王祖贤</a></li><li>2010-09-02 -- <a target="_blank" href="http://blog.11034.org/2010-09/summary_in_ebay_15th.html" title="暑期实习小结于eBay15周年">暑期实习小结于eBay15周年</a></li><li>2010-05-15 -- <a target="_blank" href="http://blog.11034.org/2010-05/interview_of_ebay.html" title="eBay实习笔试&#038;面试">eBay实习笔试&#038;面试</a></li></ul><h4 class="related_post_title">看看 Wordpress , 博客建站 </h4><ul class="related_post"><li>2015-07-29 -- <a target="_blank" href="http://blog.11034.org/2015-07/beian.html" title="域名备案和博客迁移至国内">域名备案和博客迁移至国内</a></li><li>2014-03-12 -- <a target="_blank" href="http://blog.11034.org/2014-03/new_url_to_template.html" title="wordpress改源码实现自定义URL到自定义页面">wordpress改源码实现自定义URL到自定义页面</a></li><li>2013-12-05 -- <a target="_blank" href="http://blog.11034.org/2013-12/wp-sns-share_2-8.html" title="wp_sns_share更新至2.8，添加小功能">wp_sns_share更新至2.8，添加小功能</a></li><li>2013-02-14 -- <a target="_blank" href="http://blog.11034.org/2013-02/wp_zjuem_in_wordpress.html" title="wp-zjuem，zju cc98表情系统 in wordpress">wp-zjuem，zju cc98表情系统 in wordpress</a></li><li>2012-09-26 -- <a target="_blank" href="http://blog.11034.org/2012-09/wordpress_post_actions.html" title="wordpress发布文章时的Action事件">wordpress发布文章时的Action事件</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2010-08/blog_new_life.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
