<?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>Bolo的博客 &#187; Plugins</title>
	<atom:link href="http://blog.imbolo.com/tag/plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.imbolo.com</link>
	<description>一个设计爱好者杂七杂八的博客</description>
	<lastBuildDate>Wed, 23 Nov 2011 16:19:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>WordPress SEO 技巧：内链优化</title>
		<link>http://blog.imbolo.com/wordpress-seo-tips/</link>
		<comments>http://blog.imbolo.com/wordpress-seo-tips/#comments</comments>
		<pubDate>Sun, 24 Oct 2010 15:55:52 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Theme]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1968</guid>
		<description><![CDATA[最近在做一个新网站，Google 刚开始收录的时候发现归档页面的排名比文章还高，猜测原因是归档页面获得的内链太多了，因此产生一个把所有的指向归档页面的链接全部加上 rel="nofollow" 属性的想法。]]></description>
			<content:encoded><![CDATA[<p>最近在做一个新网站，Google 刚开始收录的时候发现归档页面的排名比文章还高，猜测原因是归档页面获得的内链太多了，因此产生一个把所有的指向归档页面的链接全部加上 rel=&#8221;nofollow&#8221; 属性的想法。要达到这个目的，我们完全可以用 WordPress 强大的 filter 来实现。打开主题的 functions.php ，在里面加上以下的代码：</p>
<p><span id="more-1968"></span></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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//给标签云里的链接加上 rel=&quot;nofollow&quot;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_tag_cloud'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cis_nofollow_tag_cloud'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> cis_nofollow_tag_cloud<span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;a href='</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;a rel=&quot;nofollow&quot; href='</span><span style="color: #339933;">,</span>  <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//给 the_tags() 生成的链接 加上 rel=&quot;nofollow&quot;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'the_tags'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cis_nofollow_the_tag'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> cis_nofollow_the_tag<span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'rel=&quot;tag&quot;'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rel=&quot;tag nofollow&quot;'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//给 wp_list_categories() 生成的链接加上 rel=&quot;nofollow&quot;</span>
add_filter<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'wp_list_categories'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cis_nofollow_wp_list_categories'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> cis_nofollow_wp_list_categories<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$text</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">stripslashes</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace_callback</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'|&lt;a (.+?)&gt;|i'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'wp_rel_nofollow_callback'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$text</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//给 the_category() 生成的链接加上 rel=&quot;nofollow&quot;</span>
add_filter<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'the_category'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cis_nofollow_the_category'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> cis_nofollow_the_category<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$text</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'rel=&quot;category tag&quot;'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> cis_nofollow_wp_list_categories<span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$text</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//给 the_author_post_link 生成的链接加上 rel=&quot;nofollow&quot;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'the_author_posts_link'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cis_nofollow_the_author_posts_link'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> cis_nofollow_the_author_posts_link <span style="color: #009900;">&#40;</span><span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;/a&gt;&lt;a href='</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;a rel=&quot;nofollow&quot; href='</span><span style="color: #339933;">,</span>  <span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//给 comments_popup_link_attributes() 生成的链接加上 rel=&quot;nofollow&quot;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'comments_popup_link_attributes'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cis_nofollow_comments_popup_link_attributes'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> cis_nofollow_comments_popup_link_attributes <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">' rel=&quot;nofollow&quot;'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>上面的 filter 针对的都是主题开发时一些使用率比较高的函数，基本上已经能满足我的要求了。</p>
<p></a></pre>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/improve-the-experience-of-plugin-in-a-theme/" title="提高主题的插件体验">提高主题的插件体验</a></li><li><a href="http://blog.imbolo.com/how-to-combine-plugin-with-theme-1/" title="如何把插件集成到主题里(1)">如何把插件集成到主题里(1)</a></li><li><a href="http://blog.imbolo.com/wp-plugin-author-list-plus/" title="适合多人博客的作者列表插件：Author-List-Plus">适合多人博客的作者列表插件：Author-List-Plus</a></li><li><a href="http://blog.imbolo.com/improve-wordpress-navigation-menu-output/" title="为 WordPress 3.0 自定义菜单添加描述">为 WordPress 3.0 自定义菜单添加描述</a></li><li><a href="http://blog.imbolo.com/access-your-feedburner-stats-from-wordpress-dashboard/" title="在 WordPress 后台查看 FeedBurner 数据">在 WordPress 后台查看 FeedBurner 数据</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/wordpress-seo-tips/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>适合多人博客的作者列表插件：Author-List-Plus</title>
		<link>http://blog.imbolo.com/wp-plugin-author-list-plus/</link>
		<comments>http://blog.imbolo.com/wp-plugin-author-list-plus/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 12:13:54 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1957</guid>
		<description><![CDATA[Author-List-Plus 是 CantonBolo 为 WPJAM 应用商城做的第一个收费 WordPress 插件。能自动显示博客里所有作者的用户资料并统计每个作者的文章数，非常适合多人博客。]]></description>
			<content:encoded><![CDATA[<p>Author-List-Plus 是 CantonBolo 为 <a href="http://wpjam.net/?ref=CantonBolo">WPJAM 应用商城</a> 做的第一个收费 WordPress 插件。能自动显示博客里所有作者的用户资料并统计每个作者的文章数，非常适合多人博客。</p>
<p><img src="http://i1001.photobucket.com/albums/af131/bolo1988/65e9cca0.png" alt="作者列表预览" /></p>
<p>作为一个多人博客，如何才能让你的访客更多地了解博客的撰稿人们呢？建立一个完善的作者列表是一个效果良好的做法。而 Author-List-Plus 插件则可以满足大部分多人博客的需求，除了 WordPress 默认支持的个人资料以外，Author-List-Plus 还可以让每个作者都设置自己的所在地、SNS、微博等资料，博客管理员可以设置在作者列表里显示哪些资料，而更为强大的是，博主无需修改主题模板，Author-List-Plus 可以自动把作者列表添加到特定的页面里，使用非常简单！</p>
<p><span id="more-1957"></span><br />
<img src="http://i1001.photobucket.com/albums/af131/bolo1988/6322118f.png" alt="详细的后台选项" /></p>
<p>当然，如果你想作者列表更加美观的话，你可以为作者列表写一个样式，Author-List-Plus 默认生成的 HTML 结构以足够让你写出非常漂亮的样式！</p>
<h2>使用方法</h2>
<ol>
<li>上传并激活插件后，每个作者都可以在自己的 Profile (档案) 页面添加更多的自定义资料</li>
<li>博客管理员可以在 Author List Plus Options 页面定制作者列表显示的内容</li>
</ol>
<p>Author-List-Plus 只售 <strong>￥ 9.98</strong> ，需要的童鞋可以到 <a href="http://wpjam.net/item/author-list-plus/?ref=CantonBolo">WPJAM 应用商城</a> 购买。</p>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/wordpress-plugin-ibegin-share-mod/" title="WordPress 分享插件：iBegin Share (mod)">WordPress 分享插件：iBegin Share (mod)</a></li><li><a href="http://blog.imbolo.com/diy-a-plugin/" title="做一个自己的插件">做一个自己的插件</a></li><li><a href="http://blog.imbolo.com/wordpress-plugin-admin-post-navigation/" title="插件推荐：Admin Post Navigation">插件推荐：Admin Post Navigation</a></li><li><a href="http://blog.imbolo.com/overlay4wp/" title="WordPress相册插件：Overlay4WP">WordPress相册插件：Overlay4WP</a></li><li><a href="http://blog.imbolo.com/whats-coming-in-wordpress-3-2/" title="WordPress 3.2 新亮点">WordPress 3.2 新亮点</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/wp-plugin-author-list-plus/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>在 WordPress 后台查看 FeedBurner 数据</title>
		<link>http://blog.imbolo.com/access-your-feedburner-stats-from-wordpress-dashboard/</link>
		<comments>http://blog.imbolo.com/access-your-feedburner-stats-from-wordpress-dashboard/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 16:53:15 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Feed]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1876</guid>
		<description><![CDATA[为了管理和统计的方便，很多人会使用 FeedBurner 来烧录博客的 Feed ，今天介绍一款插件，可以在 WordPress 的后台查看自己的 FeedBurner 统计数据。]]></description>
			<content:encoded><![CDATA[<p>为了管理和统计的方便，很多人会使用 FeedBurner 来烧录博客的 Feed ，今天介绍一款插件，可以在 WordPress 的后台查看自己的 FeedBurner 统计数据。</p>
<h3>打开“Awareness API”</h3>
<p>首先要做的是在 FeedBurner 里打开 Feed 的 Awareness API，否则任何人都无法通过其他途径获取你的 Feed 统计数据。在 FeedBurener 的 My Feeds 页面选择博客的 Feed ，在 Publicize 选项卡里打开 Awareness API 选项，点击 Activate 即可打开 Awareness API 功能，非常简单。<span id="more-1876"></span></p>
<p><img src="http://i1001.photobucket.com/albums/af131/bolo1988/1-2.png" alt="开启 FeedBurner Awareness API" /></p>
<h2>安装和配置 <a href="http://www.speedbreeze.com/feed-stats/" rel="nofollow">Feed Stats for WordPress</a> 插件</h2>
<p>这个插件可以在官方插件目录找到，安装并激活以后在后台的 Setting（设置） -> Feed Stats 页面里进行设置。只需在 FeedBurner Feed URL 里填写 FeedBurner 提供的 Feed 地址，点解 Test 提示 <strong>This feed is valid.</strong> 即为成功。</p>
<p><img src="http://i1001.photobucket.com/albums/af131/bolo1988/2-2.png" alt="配置 Feed Stats for WordPress 插件" /></p>
<p>完成配置后你马上就可以在 Dashbroad -> Feed Stats 里查看 Feed 的统计数据了，非常详细。</p>
<p><img src="http://i1001.photobucket.com/albums/af131/bolo1988/3-2.png" alt="在 WordPress 后台查看 FeedBurner 数据" /></p>
<h3>几个重要的细节</h3>
<ul>
<li>统计数据仅在你打开 Feed Stats 页面是才会从 FeedBurner 获取，插件不会一直进行连接</li>
<li>插件默认只获取最近十天的数据</li>
</ul>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/wordpress-seo-tips/" title="WordPress SEO 技巧：内链优化">WordPress SEO 技巧：内链优化</a></li><li><a href="http://blog.imbolo.com/wp-plugin-author-list-plus/" title="适合多人博客的作者列表插件：Author-List-Plus">适合多人博客的作者列表插件：Author-List-Plus</a></li><li><a href="http://blog.imbolo.com/wordpress-plugin-ibegin-share-mod/" title="WordPress 分享插件：iBegin Share (mod)">WordPress 分享插件：iBegin Share (mod)</a></li><li><a href="http://blog.imbolo.com/wordpress-microblog-plugin-wp-admin-microblog/" title="WordPress 微博插件： WP Admin Microblog">WordPress 微博插件： WP Admin Microblog</a></li><li><a href="http://blog.imbolo.com/diy-a-plugin/" title="做一个自己的插件">做一个自己的插件</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/access-your-feedburner-stats-from-wordpress-dashboard/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>WordPress 分享插件：iBegin Share (mod)</title>
		<link>http://blog.imbolo.com/wordpress-plugin-ibegin-share-mod/</link>
		<comments>http://blog.imbolo.com/wordpress-plugin-ibegin-share-mod/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 11:46:12 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1801</guid>
		<description><![CDATA[WordPress 分享插件：iBegin Share (修改版)]]></description>
			<content:encoded><![CDATA[<p><img src="http://i1001.photobucket.com/albums/af131/bolo1988/wordpresspluginiBeginShare.png" alt="WordPress 分享插件：iBegin Share (修改版)" /></p>
<p>因为网络上提供的网址分享插件都没有一个能完全符合我的要求的，所以我曾经想自己做一个分享插件。但得益于 WordPress 繁多的插件，我找到了 <a href="http://wordpress.org/extend/plugins/ibegin-share/" rel="external">iBegin Share</a> 这个插件（在官网下载的插件无法正常运行，因此我制作了一个修改版），它已经满足了我大部分的要求。<span id="more-1801"></span></p>
<h3>特点：</h3>
<ul>
<li>可以自由定义自己喜欢的分享服务</li>
<li>可以对文章被分享的次数进行统计</li>
<li>加载的脚本比较小</li>
<li>不依赖第三方网站运行（提供分享服务的网站除外）</li>
<li>除了分享到其他网络以外，还可以把页面转换成 PDF 或 Word 文档保存到本地</li>
</ul>
<h3>如何使用</h3>
<p>iBegin Share 提供了两种调用方式，他们之间的区别是一种用图片来表示分享按钮，另一种是通过文本方式表示分享按钮。我们可以在模板里通过以下代码调用分享按钮。</p>

<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: #339933;">&lt;</span> ?php <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'iBeginShare_TextLink'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #339933;">&lt;</span>span id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;share-tool&quot;</span><span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span> ?php iBeginShare_TextLink<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> <span style="color: #666666; font-style: italic;">//通过文本方式表示分享按钮</span>
		<span style="color: #666666; font-style: italic;">// 或者</span>
		<span style="color: #339933;">&lt;</span> ?php iBeginShare_Button<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> <span style="color: #666666; font-style: italic;">//通过图片方式表示分享按钮</span>
	<span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>两种按钮的效果大家可以自己安装插件测试一下。</p>
<h3>修改版</h3>
<p>由于插件作者在编写插件时写错了一个变量的值，因此大家在官方插件目录里下载的插件是无法运行的。我自己制作了一个修改版，修正了作者的错误，并且用一些国内常用的分享服务代替了一些国外服务。效果如本文配图，国内服务在第一行，国外服务在第二行。大家可以点<a href="http://cantonbolo.googlecode.com/files/ibegin-share.zip">这里下载</a>我修改的版本。</p>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/wp-plugin-author-list-plus/" title="适合多人博客的作者列表插件：Author-List-Plus">适合多人博客的作者列表插件：Author-List-Plus</a></li><li><a href="http://blog.imbolo.com/diy-a-plugin/" title="做一个自己的插件">做一个自己的插件</a></li><li><a href="http://blog.imbolo.com/wordpress-plugin-admin-post-navigation/" title="插件推荐：Admin Post Navigation">插件推荐：Admin Post Navigation</a></li><li><a href="http://blog.imbolo.com/overlay4wp/" title="WordPress相册插件：Overlay4WP">WordPress相册插件：Overlay4WP</a></li><li><a href="http://blog.imbolo.com/whats-coming-in-wordpress-3-2/" title="WordPress 3.2 新亮点">WordPress 3.2 新亮点</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/wordpress-plugin-ibegin-share-mod/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>WordPress 微博插件： WP Admin Microblog</title>
		<link>http://blog.imbolo.com/wordpress-microblog-plugin-wp-admin-microblog/</link>
		<comments>http://blog.imbolo.com/wordpress-microblog-plugin-wp-admin-microblog/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 13:38:10 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[MicroBlog]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1777</guid>
		<description><![CDATA[今天我要推荐一款在 WordPress 博客里构建一个能让注册用户交流的微博系统的插件： WP Admin Microblog]]></description>
			<content:encoded><![CDATA[<p>自从微博鼻祖 Twitter 大红大紫以后，国内先后冒出了许多跟风者，如已经被死亡的饭否，明星汇聚的新浪微博和新鲜出炉的网易微博。但由于国内政策等种种因素，这些微博要么无法访问（Twitter），要么经常被维护（嘀咕等），要么经常以违反某些规定为由被删帖（新浪微博等）。因此一些神通广大的站长同学们纷纷搭建了自己的私人微博，用来记录自己的生活琐事等等。WordPress 官方针对这种趋势，甚至专门推出了一个微博主题，使 WordPress 博客能像微博一样展示内容。</p>
<p>今天我要推荐一款在 WordPress 博客里构建一个能让注册用户交流的微博系统的插件： <strong>WP Admin Microblog</strong>。<span id="more-1777"></span></p>
<p><strong>WP Admin Microblog</strong> 插件的作者是 <a href="http://www.mtrv.kilu.de/" rel="nofollow external">Michael Winkler</a> 。这个插件使用非常简单，激活以后只需要在设置里选择能管理微博的用户组即可。下面是发表信息的画面：</p>
<p><img src="http://i1001.photobucket.com/albums/af131/bolo1988/wordpress.png" alt="WordPress 微博插件" /></p>
<p>这款插件对会员制博客非常有用，凡有发表微博权限的用户，想在内部发表交流的话只需要发布一条微博即可。而且插件还提供了邮件通知功能，以“@username”的方式发表微博即可把你发的消息发到该用户的邮箱里。</p>
<h3>优点：</h3>
<ul>
<li>使用简单，界面简洁</li>
<li>方便会员交流，可以代替传统的QQ群和邮件等方式</li>
</ul>
<h3>缺点：</h3>
<ul>
<li>权限设置不够详细</li>
<li>不能自定义邮件的格式</li>
</ul>
<p>这个插件目前没有简体中文版，如果你想使用中文版，请<a href="http://cantonbolo.googlecode.com/files/wp_admin_blog-zh_cn.po">下载我翻译的中文包</a>。要使用中文包，只需要把 po 文件上传到该插件的目录下即可。</p>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/wordpress-seo-tips/" title="WordPress SEO 技巧：内链优化">WordPress SEO 技巧：内链优化</a></li><li><a href="http://blog.imbolo.com/wp-plugin-author-list-plus/" title="适合多人博客的作者列表插件：Author-List-Plus">适合多人博客的作者列表插件：Author-List-Plus</a></li><li><a href="http://blog.imbolo.com/access-your-feedburner-stats-from-wordpress-dashboard/" title="在 WordPress 后台查看 FeedBurner 数据">在 WordPress 后台查看 FeedBurner 数据</a></li><li><a href="http://blog.imbolo.com/wordpress-plugin-ibegin-share-mod/" title="WordPress 分享插件：iBegin Share (mod)">WordPress 分享插件：iBegin Share (mod)</a></li><li><a href="http://blog.imbolo.com/diy-a-plugin/" title="做一个自己的插件">做一个自己的插件</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/wordpress-microblog-plugin-wp-admin-microblog/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>做一个自己的插件</title>
		<link>http://blog.imbolo.com/diy-a-plugin/</link>
		<comments>http://blog.imbolo.com/diy-a-plugin/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 06:58:28 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1696</guid>
		<description><![CDATA[很多人在换主题时首先做的是修改一下，例如加上自己的站点统计代码，或者加上自己的个性功能等等。如果我们把这些功能都做成一个插件，那样我们在换主题时就可以省很多功夫。]]></description>
			<content:encoded><![CDATA[<p>很多人在换主题时首先做的是修改一下，例如加上自己的站点统计代码，或者加上自己的个性功能等等。如果我们把这些功能都做成一个插件，那样我们在换主题时就可以省很多功夫。这篇文章浅浅睇说一下如何做一个你自己的插件。</p>
<p>首先建一个bolo.php文件，在里面写上下面的代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #666666; font-style: italic;">/*
Plugin Name: bolo
Plugin URI: http://imbolo.com
Description: Bolo's custom plugin
Version: 1.0
Author URI: http://blog.imbolo.com
*/</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>把这个文件放进一个叫bolo的文件夹里，上传到plugins目录后就可以在后台激活。这就是一个最简单的插件了，什么功能都没有。下面我就加一些功能。<span id="more-1696"></span></p>
<h3>添加站点统计</h3>
<p>站点统计是每个站长都会使用的工具，每天都不能少，通过插件来添加站点统计，免除了手动修改主题的麻烦。代码也非常简单。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> site_analytics<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'此处替换成你的统计代码'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_footer'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'site_analytics'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>把上面的代码插入到bolo.php里，统计代码就会自动添加到主题模板wp_footer()的地方。</p>
<h3>移除某些插件的CSS和JS</h3>
<p>很多插件在激活以后会在主题模板的wp_head()和wp_footer()这两个地方添加自己的CSS和JS，这样会增加HTTP请求数。因此我们在合并了插件的CSS和JS文件后需要移除这些Hook，防止作用相同的文件重复加载，我们可以用下面的代码轻松搞定。</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;">remove_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'wp_head'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'插件的Hook'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//移除header里的某个Hook</span>
remove_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'wp_footer'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'插件的Hook'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//移除footer里的某个Hook</span></pre></td></tr></table></div>

<h3>后记</h3>
<p>以上两个举例希望可以起到抛砖引玉的作用，要开发更多的功能，可以参考一下《<a href="http://blog.imbolo.com/leave-a-improve-place/">预留改进的空间</a>》这篇文章。很多人喜欢吧一些小功能写进主题的functions.php里，我个人认为把这些功能都做成一个独立的插件是一个更好的办法。虽然精确地说整个网站的运行速度是会慢那么很微小的一点点，但那几毫秒的时间省下来了你又能干些什么？如果非要追求速度，把页面缓存成html文件就没有差别了。</p>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/wp-plugin-author-list-plus/" title="适合多人博客的作者列表插件：Author-List-Plus">适合多人博客的作者列表插件：Author-List-Plus</a></li><li><a href="http://blog.imbolo.com/wordpress-plugin-ibegin-share-mod/" title="WordPress 分享插件：iBegin Share (mod)">WordPress 分享插件：iBegin Share (mod)</a></li><li><a href="http://blog.imbolo.com/wordpress-plugin-admin-post-navigation/" title="插件推荐：Admin Post Navigation">插件推荐：Admin Post Navigation</a></li><li><a href="http://blog.imbolo.com/overlay4wp/" title="WordPress相册插件：Overlay4WP">WordPress相册插件：Overlay4WP</a></li><li><a href="http://blog.imbolo.com/whats-coming-in-wordpress-3-2/" title="WordPress 3.2 新亮点">WordPress 3.2 新亮点</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/diy-a-plugin/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>提高主题的插件体验</title>
		<link>http://blog.imbolo.com/improve-the-experience-of-plugin-in-a-theme/</link>
		<comments>http://blog.imbolo.com/improve-the-experience-of-plugin-in-a-theme/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 03:08:44 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Theme]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1637</guid>
		<description><![CDATA[很多主题作者为了提高开发效率，在主题里预留了一些指定插件的接口，当用户使用该主题，并且激活了相应的插件时，主题将自动调用插件，生成最适合该主题的效果]]></description>
			<content:encoded><![CDATA[<p>很多主题作者为了提高开发效率，在主题里预留了一些指定插件的接口，当用户使用该主题，并且激活了相应的插件时，主题将自动调用插件，生成最适合该主题的效果。<br />
如何为插件预留接口呢？以普及率很高的WP-Pagenavi插件为例，使用以下代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_pagenavi'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #339933;">&lt;</span> ?php wp_pagenavi<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p><span id="more-1637"></span><br />
这样当用户激活了WP-Pagenavi插件时，主题将自动调用插件的功能，不需要再修改模板。<br />
但是以上的代码当用户没有使用WP-Pagenavi插件时，主题将失去文章列表分页功能。为了让主题的功能<strong>平稳退化</strong>，现在所有的主题作者都会使用以下的代码：</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: #339933;">&lt;</span> ?php <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_pagenavi'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #339933;">&lt;</span> ?php wp_pagenavi<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">else</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #339933;">&lt;</span>span <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;newer&quot;</span><span style="color: #339933;">&gt;&lt;</span> ?php previous_posts_link<span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Newer Entries&amp;raquo;'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>span <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;older&quot;</span><span style="color: #339933;">&gt;&lt;</span> ?php next_posts_link<span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;laquo;Older Entries'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>这样在用户没有激活WP-Pagenavi插件时，主题将使用WordPress提供的分页功能对文章列表进行分页。主题也不会绝对的依赖插件。<br />
还有一种情况是在主题的某些模板中需要插件支持的，以我制作的Inpad主题为例，在Archives模板里需要调用WP_EasyArchives插件来生成安时间线存档的文章列表。在激活WP_EasyArchives插件时，该模板的效果如下：<br />
<img src="http://i1001.photobucket.com/albums/af131/bolo1988/ss1.png" alt="Archives模板正常效果 " /><br />
而当用户启用了Archives模板，但却没有激活WP_EasyArchives插件时，我采用以下的效果来提醒用户安装相关的插件：<br />
<img src="http://i1001.photobucket.com/albums/af131/bolo1988/ss2.png" alt="提醒用户激活相关插件" /><br />
代码如下：</p>

<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: #339933;">&lt;</span> ?php <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_easyarchives'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #339933;">&lt;</span> ?php wp_easyarchives<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">else</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;messagebox&quot;</span><span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span> ?php _e<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Sorry, please activate WP-EasyArchives plugin.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>同过设置环境条件不能达到模板要求时的应对方案，可以防止用户在没有激活插件时导致页面出错，也可以增强主题对用户的友好性。<br />
但这种强迫用户使用插件的行为同样也不是我所提倡的，只是时间关系，我不能及时地做出一个更好的应对方案。最好的方法，当然是集成插件，或者把一个完整的替代功能做进主题里。</p>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/wordpress-seo-tips/" title="WordPress SEO 技巧：内链优化">WordPress SEO 技巧：内链优化</a></li><li><a href="http://blog.imbolo.com/how-to-combine-plugin-with-theme-1/" title="如何把插件集成到主题里(1)">如何把插件集成到主题里(1)</a></li><li><a href="http://blog.imbolo.com/wp-plugin-author-list-plus/" title="适合多人博客的作者列表插件：Author-List-Plus">适合多人博客的作者列表插件：Author-List-Plus</a></li><li><a href="http://blog.imbolo.com/improve-wordpress-navigation-menu-output/" title="为 WordPress 3.0 自定义菜单添加描述">为 WordPress 3.0 自定义菜单添加描述</a></li><li><a href="http://blog.imbolo.com/access-your-feedburner-stats-from-wordpress-dashboard/" title="在 WordPress 后台查看 FeedBurner 数据">在 WordPress 后台查看 FeedBurner 数据</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/improve-the-experience-of-plugin-in-a-theme/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>如何把插件集成到主题里(1)</title>
		<link>http://blog.imbolo.com/how-to-combine-plugin-with-theme-1/</link>
		<comments>http://blog.imbolo.com/how-to-combine-plugin-with-theme-1/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 06:40:58 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Theme]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1628</guid>
		<description><![CDATA[上一篇文章我发了一个免插件调用最多评论文章的代码，在读者的评论里出现了两种意见]]></description>
			<content:encoded><![CDATA[<p>上一篇文章我发了一个免插件调用最多评论文章的代码，在读者的评论里出现了两种意见。一种倾向于支持把一些优秀的插件集成到主题里，省却用户的麻烦。一种倾向于在主题里保留对某些插件的支持，在发现该插件激活时自动加载。</p>
<p>我个人倾向于主题应该保持最大限度的精简，但必须保持良好的插件兼容性。但有一些插件，各方面已经非常完善，并且在未来一定时间内也不会对新版本的WordPress出现兼容问题，我们则可以考虑把它集成到主题里。对于集成到主题里的插件，我们可以体会到一些好处：<br />
1.可以自主整合插件所需的JS和CSS文件，减少HTTP请求；<br />
2.在整合的过程中，你可以去除插件中你不需要的部分，减少垃圾可以令WordPress运行更快；<br />
3.可以提高主题的易用性。</p>
<p>在这个系列的文章里，我将说说怎么把插件集成到主题里，我选用MG12出品的<a rel="external" href="http://www.neoease.com/ajax-comment-pager/">AJAX Comment Pager</a>作为试验品。这款插件的特点是简单实用，源码里注释详细。<span id="more-1628"></span></p>
<h3>正文</h3>
<p><span style="color: #ff0000;"><strong>注意：如果你要按照这个教程试着折腾的话，请先备份你的主题，并且请确认你的主题支持按页码进行评论分页。</strong></span></p>
<h4>步骤1</h4>
<p>首先打开ajax-comment-pager文件夹里的ajax-comment-pager.php文件，这个文件就是整个插件的核心。我们可以看到细心的MG12对插件的每一个模块都做了注释。</p>
<p>我们要做的是先分析这个插件是怎么运行的，程序结构是怎样的。</p>
<p>首先，根据注释，我们可以发现程序结构如下图：</p>
<p><img src="http://i1001.photobucket.com/albums/af131/bolo1988/howtocombinepluginwiththeme1.png" alt="AJAX Comment Pager插件程序结构图" /></p>
<p>下面解释一下各个模块的作用：<br />
l10n：提供插件的本地化语言，在整合是可以忽略；<br />
options：用于配置插件参数；<br />
AJAX function：处理AJAX请求，并返回相应的结果，核心中的核心；<br />
add to WordPress：加载插件运行所需的JS脚本和CSS样式文件。<br />
到这里，插件的运行机制已经呼之欲出。<br />
首先由add to WordPress加载所需的文件-&gt;在点击评论翻页时发出AJAX请求-&gt;AJAX function模块获取options里的参数，处理AJAX请求并返回结果-&gt;add to WordPress事先加载的脚本把AJAX function返回的结果插入到评论列表位置。</p>
<h4>步骤2</h4>
<p>在充分了解插件的结构以后，我们开始提取所需的代码，先把cpage_ajax和commentpager_head改名，我给这两个函数名同意加上了“bolo_”前缀。这一步是为了避免和原来的插件产生冲突，改名的方法推荐先复制原来的函数名，改名后用新函数名全部替换原函数名。</p>
<p>接下来把ajax-comment-pager.css和ajax-comment-pager.js复制到主题文件夹里并且在ajax-comment-pager.js里查找一下“cpage_ajax”，加上前缀“bolo_”。</p>
<p>水平高一点的童鞋们，在这一步就可以整合css和js文件了，如果你不会整合这两个文件则需要在主题的header.php里加载这两个文件，并且在加载ajax-comment-pager.js前需要先输出以下代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #006600; font-style: italic;">//&lt; ![CDATA[</span>
<span style="color: #003366; font-weight: bold;">var</span> ajaxCommnetsPagerCommentsId <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;thecomments&quot;</span> <span style="color: #006600; font-style: italic;">//thecomments是评论列表的ID，请根据自己的主题自行修改</span>
<span style="color: #003366; font-weight: bold;">var</span> ajaxCommnetsPagerAjaxLoader <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Loading...&quot;</span>
<span style="color: #006600; font-style: italic;">//]]&gt;&lt;/script&gt;</span></pre></td></tr></table></div>

<h4>步骤3</h4>
<p>把 AJAX function 模块的所有代码复制到主题的functions.php里，我们还需要修改一下。<br />
我们的目的是直接把最适合我们主题的参数整合进去，所以options，callback method name 和 type 这几部分都可以删去，并充新补上$callback和$type这两个变量。<br />
$callback是自定义评论样式的名字，一般是custom_comment，请自行查看主题配置。<br />
$type是翻页是需要显示的内容，只显示评论则是&amp;type=comment，只显示pingback则是&amp;type=pings，两者都显示则留空。<br />
在这里我设置为</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: #000088;">$callback</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'custom_comment'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//我的主题里评论样式名为custom_comment</span>
<span style="color: #000088;">$type</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'&amp;amp;type=comment'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//只显示评论</span></pre></td></tr></table></div>

<h4>步骤4</h4>
<p>在打开comments.php，在合适的地方加上</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>span id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;cp_post_id&quot;</span><span style="color: #339933;">&gt;&lt;</span> ?php <span style="color: #b1b100;">echo</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: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>如果你不知道什么地方是“合适的地方”，那就把这句代码加到任一个&lt;/div&gt;前吧。</p>
<h4>后记</h4>
<p>到这里为止，你可以发现主题集成的AJAX Comment Pager已经可以正常运行了。</p>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/wordpress-seo-tips/" title="WordPress SEO 技巧：内链优化">WordPress SEO 技巧：内链优化</a></li><li><a href="http://blog.imbolo.com/improve-the-experience-of-plugin-in-a-theme/" title="提高主题的插件体验">提高主题的插件体验</a></li><li><a href="http://blog.imbolo.com/wp-plugin-author-list-plus/" title="适合多人博客的作者列表插件：Author-List-Plus">适合多人博客的作者列表插件：Author-List-Plus</a></li><li><a href="http://blog.imbolo.com/improve-wordpress-navigation-menu-output/" title="为 WordPress 3.0 自定义菜单添加描述">为 WordPress 3.0 自定义菜单添加描述</a></li><li><a href="http://blog.imbolo.com/access-your-feedburner-stats-from-wordpress-dashboard/" title="在 WordPress 后台查看 FeedBurner 数据">在 WordPress 后台查看 FeedBurner 数据</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/how-to-combine-plugin-with-theme-1/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>插件推荐：Admin Post Navigation</title>
		<link>http://blog.imbolo.com/wordpress-plugin-admin-post-navigation/</link>
		<comments>http://blog.imbolo.com/wordpress-plugin-admin-post-navigation/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 15:02:37 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1607</guid>
		<description><![CDATA[对于经常对大量文章进行编辑操作的童鞋来说，最麻烦的事就是修改完一篇文章以后需要保存，退出编辑，再打开下一篇文章进行编辑]]></description>
			<content:encoded><![CDATA[<p>对于经常对大量文章进行编辑操作的童鞋来说，最麻烦的事就是修改完一篇文章以后需要保存，退出编辑，再打开下一篇文章进行编辑。<br />
Admin Post Navigation是一款后台插件，在编辑文章的时候会在编辑器上方添加一个链接到上一篇文章和下一篇文章的导航栏，如下图。<br />
<img src="http://i1001.photobucket.com/albums/af131/bolo1988/screenshot-1.png" alt="Admin Post Navigation" /><span id="more-1607"></span><br />
但这个插件需要浏览器支持JavaScript，否则导航栏会以Widget的形式出现在编辑文章页面的侧边栏上，如下图。<br />
<img src="http://i1001.photobucket.com/albums/af131/bolo1988/screenshot-2.png" alt="Admin Post Navigation" /><br />
有了这个导航栏，以后有大量文章需要编辑的时候就方便多啦。</p>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/wp-plugin-author-list-plus/" title="适合多人博客的作者列表插件：Author-List-Plus">适合多人博客的作者列表插件：Author-List-Plus</a></li><li><a href="http://blog.imbolo.com/wordpress-plugin-ibegin-share-mod/" title="WordPress 分享插件：iBegin Share (mod)">WordPress 分享插件：iBegin Share (mod)</a></li><li><a href="http://blog.imbolo.com/diy-a-plugin/" title="做一个自己的插件">做一个自己的插件</a></li><li><a href="http://blog.imbolo.com/overlay4wp/" title="WordPress相册插件：Overlay4WP">WordPress相册插件：Overlay4WP</a></li><li><a href="http://blog.imbolo.com/whats-coming-in-wordpress-3-2/" title="WordPress 3.2 新亮点">WordPress 3.2 新亮点</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/wordpress-plugin-admin-post-navigation/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>WordPress相册插件：Overlay4WP</title>
		<link>http://blog.imbolo.com/overlay4wp/</link>
		<comments>http://blog.imbolo.com/overlay4wp/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 18:57:57 +0000</pubDate>
		<dc:creator>bolo</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://blog.imbolo.com/?p=1453</guid>
		<description><![CDATA[Overlay4WP是Bolo发布的第一个WordPress插件。在Highslide4WP的基础上修改，加入的后台选项，使用了效果强大的jQuery库，可以自定义多种特效。与其它同类型的图片特效插件相比，Overlay4WP具有一下几个优点。]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm3.static.flickr.com/2670/4059008324_6fc53da139_o.jpg" alt="WordPress相册插件：Overlay4WP" /></p>
<p>Overlay4WP是Bolo发布的第一个WordPress插件。在<a href="http://www.neoease.com/highslide4wp/" rel="external nofollow">Highslide4WP</a>的基础上修改，加入的后台选项，使用了效果强大的jQuery库，可以自定义多种特效。与其它同类型的图片特效插件相比，Overlay4WP具有以下几个优点。</p>
<p><span id="more-1453"></span></p>
<h5>简介</h5>
<p>Overlay4WP能方便地在文章中插入插图相册效果，相册窗口能自动适应图片大小，有翻页功能。当点击通过Overlay4WP插入的图片时，插件能自动遍历当前页面上所有通过Overlay4WP插入的图片，并生成一个相册。</p>
<h5>优点：</h5>
<p>1.除必须的jQuery库外，只需要加载一个几KB的JS文件和一个几KB的CSS文件。<br />
2.本插件在页面上输出的代码符合W3C的 XHTML 1.1 和 CSS 3 标准，并且代码结构非常简单。<br />
3.本插件生成的图片调用代码，在插件卸载后不会引起任何不良作用。</p>
<h5>Download</h5>
<p><a href="http://downloads.wordpress.org/plugin/overlay4wp.zip">官网下载</a></p>
<p  class="related_post_title">Related Posts</p><ul class="related_post"><li><a href="http://blog.imbolo.com/wp-plugin-author-list-plus/" title="适合多人博客的作者列表插件：Author-List-Plus">适合多人博客的作者列表插件：Author-List-Plus</a></li><li><a href="http://blog.imbolo.com/wordpress-plugin-ibegin-share-mod/" title="WordPress 分享插件：iBegin Share (mod)">WordPress 分享插件：iBegin Share (mod)</a></li><li><a href="http://blog.imbolo.com/diy-a-plugin/" title="做一个自己的插件">做一个自己的插件</a></li><li><a href="http://blog.imbolo.com/wordpress-plugin-admin-post-navigation/" title="插件推荐：Admin Post Navigation">插件推荐：Admin Post Navigation</a></li><li><a href="http://blog.imbolo.com/whats-coming-in-wordpress-3-2/" title="WordPress 3.2 新亮点">WordPress 3.2 新亮点</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.imbolo.com/overlay4wp/feed/</wfw:commentRss>
		<slash:comments>97</slash:comments>
		</item>
	</channel>
</rss>

