<?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>Leeiio Chaos Made. &#187; Wordpress</title>
	<atom:link href="http://leeiio.me/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://leeiio.me</link>
	<description>The site is redesigning,please be patient  :P</description>
	<lastBuildDate>Sun, 29 Jan 2012 16:40:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>不要忽视你博客的访客！博客营销小技巧两则，附程序代码。</title>
		<link>http://leeiio.me/do-not-neglect-ur-visitors/</link>
		<comments>http://leeiio.me/do-not-neglect-ur-visitors/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 15:45:22 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[博客营销]]></category>
		<category><![CDATA[批量导出访客email]]></category>
		<category><![CDATA[批量导出访客URL]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=1778</guid>
		<description><![CDATA[很多博客都在想方设法地推广自己，当然方法很多，我就不一一列举了。但本文我要说的博客营销方式差不多是很多博客主正在做的并积极奉行的一种方法，那就是在各博客中游走，评论，留下自己的 URL ，然后等待被点击。除了做好 SEO 外，我觉得这确实是一种很实在并且有效的方法。 方法一：批量导出访客的 URL进行回访 正如上文所说，一般访问都会填写自己的 URL，日积月累下来，数据库里肯定存了很多访客的 URLS。并且都在 wordpress 数据库的 wp_comments 数据表里，既然知道自己想要的数据存在数据库的什么位置，要把它们给筛选出来就显得简单多了。看下面的代码。只要复制并修改代码中中文文字提示部分并保存到 .php 的文件里然后放到自己的服务器上打开即可获得全部访客的 URLS。 &#60;?php $conn = @mysql_connect&#40;&#34;Mysql服务器地址，一般都为localhost&#34;,&#34;数据库用户名&#34;,&#34;数据库密码&#34;&#41; or die&#40;&#34;Datebase Could not be connected: &#34; . mysql_error&#40;&#41;&#41;; mysql_select_db&#40;&#34;Mysql数据库名字&#34;, $conn&#41;; $result = mysql_query&#40;&#34;SELECT DISTINCT comment_author_url , comment_author FROM &#8230; <a href="http://leeiio.me/do-not-neglect-ur-visitors/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.leeiio.me/blogimgs/2010/01/20100111_blog-board.png" alt="不要忽视你博客的访客！博客营销小技巧两则，附程序代码。" /><br />
很多博客都在想方设法地推广自己，当然方法很多，我就不一一列举了。但本文我要说的博客营销方式差不多是很多博客主正在做的并积极奉行的一种方法，那就是在各博客中游走，评论，留下自己的 URL ，然后等待被点击。除了做好 SEO 外，我觉得这确实是一种很实在并且有效的方法。<br />
<span id="more-1778"></span></p>
<h2 class="part-title">方法一：批量导出访客的 URL进行回访 </h2>
<p>正如上文所说，一般访问都会填写自己的 URL，日积月累下来，数据库里肯定存了很多访客的 URLS。并且都在 wordpress 数据库的 wp_comments 数据表里，既然知道自己想要的数据存在数据库的什么位置，要把它们给筛选出来就显得简单多了。看下面的代码。只要复制并修改代码中中文文字提示部分并保存到 .php 的文件里然后放到自己的服务器上打开即可获得全部访客的 URLS。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$conn</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Mysql服务器地址，一般都为localhost&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;数据库用户名&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;数据库密码&quot;</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Datebase Could not be connected: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Mysql数据库名字&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$conn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT DISTINCT comment_author_url , comment_author FROM wp_comments WHERE comment_author_url != '' AND comment_author_url != 'http://'&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$conn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// 排除没有填写 URL 的数据</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;comment_author&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;   &quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;a target='_blank' href='&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;comment_author_url&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;'&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;comment_author_url&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;br /&gt;&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;/a&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">mysql_free_result</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>为了更方便阅读和查看，我另外筛选出了对应的评论者名字，并且给每条 URL 加上了 a 标记以便直接点击查看。当然，如果comment_author_url , comment_author后面再加一条筛选条件变成comment_author_url , comment_author,comment_author_email,然后配合wordpress 的 get_avatar( 邮件地址, &#8216;头像大小&#8217; )就可以输出更直观的带头像的列表了(这种方法的话得配合wordpress运行不能单独运行，或者载入wordpress的get_avatar函数)。</p>
<h2 class="part-title">方法二：批量导出访客的 email，EDM</h2>
<p>EDM 可是个外恶的东西，不过我刚入职阿里的时候就是干设计 EDM 的行当。EDM 对于营销者来说是个利器，但是对于收邮件的用户来说无疑是个灾难，这几乎就是垃圾邮件的 “衣冠楚楚” 的一个专有名词的说法。<br />
EDM 就是所谓的邮件营销，在你得知了一大票的用户 email 地址的时候你就可以通过群发邮件来达到营销手段。<em>所以，谨慎使用！</em><br />
一般大节日诸如即将到来的春节这个特别喜庆的日子你可以群发邮件，一般这时候人们心情比较好，不会怪你的哈=_= ||<br />
当然，最好能有个好的内容设计，能达到更好的效果。<br />
<em>但是，谨慎使用不光是提醒你群发邮件可能会给收邮件人带来厌恶感之外，就是如果退信率过高，也是会被一些邮件提供商给加入 “黑名单”的，以后你发的邮件就有可能出现在别人邮箱的垃圾邮件一栏里了，所以，谨慎使用！</em></p>
<p>以下是代码，同样，复制并修改代码中中文文字提示部分并另存为.php的网页，在服务器运行访问即可。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$conn</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Mysql服务器地址，一般都为localhost&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;数据库用户名&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;数据库密码&quot;</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Datebase Could not be connected: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Mysql数据库名字&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$conn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT DISTINCT comment_author_email FROM wp_comments WHERE comment_author_email != '' &quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$conn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;comment_author_email&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">','</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">mysql_free_result</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>需要注意的是，请注意保护好你的访客的隐私，所以我不建议你们把导出的email地址们直接复制粘贴到收件人一栏，因为这将直接将你的访客的email地址暴露在其余收到邮件的列表中的用户邮箱中。所以，推荐用密送，也就是 bcc。至于收件人一栏，可以填写自己的email。</p>
<p class="alert">
名词解释：<br />
CC 英文全称是 Carbon Copy(抄送)；BCC 英文全称是 Blind CarbonCopy(暗抄送/密送)。两者的区别在于在BCC 栏中的收件人可以看到所有的收件人名(TO,CC,自己)，而在 TO 和 CC 栏中的收件人看不到 BBC 的收件人名。<br />
如： A 发送邮件 to B，cc to C，bcc to D<br />
那么：A知道发送给了B，抄送给了C，密送给了D。<br />
        B知道这封是A发送给自己的，并且抄送给了C。<br />
        C知道这封是A发送给B的，并且抄送给了自己。<br />
        D知道这封是A发送给B的，并且抄送给了C，而且密送给了自己。
</p>
<p><strong>另外需要注意的是，如果你在安装 wordpress 的时候自己指定了表头，请修改代码中的wp_comments。</strong></p>
<p>这里只是提供了两种针对博客的可行的营销方式，程序很简单，就是简单的 SQL 查询和 php 输出而已。仅是今晚心血来潮想看看我博客的访客留下的 URL 地址而进行的一系列发散，欢迎评论！</p>
<p>Keep busy ing！</p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/do-not-neglect-ur-visitors/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>WordPress 原生嵌套 ajax 评论的实现</title>
		<link>http://leeiio.me/wordpress-ajax-thread-comments/</link>
		<comments>http://leeiio.me/wordpress-ajax-thread-comments/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 09:37:00 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[ajax comment]]></category>
		<category><![CDATA[thread comment]]></category>
		<category><![CDATA[嵌套评论]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=1768</guid>
		<description><![CDATA[我都快不记得我最早用的wordpress是什么版本号了，总之一路升级过来经历了很多个版本，模板也因为各版本的升级改动了很多。特别是当wordpress 2.7出来的时候，我们再也不需要使用第三方插件来实现评论的嵌套了，因为它已经内置了。由于我的懒散以及一直假装很忙作为借口，并且舍不得之前的评论模式，所以一直没有让我的主题支持原生的嵌套评论。 昨天心血来潮，关了IM，关了google reader，关了可能会干扰我的各类网页，开始琢磨wordpress 2.7的原生嵌套。一开始是直接套用的default主题里的comment.php文件，由于2.7版本之后引入了wp_list_comments()函数来显示评论列表，而想特别修改评论列表格式的话就需要使用callback。主要参考了 saywp 主题的callback代码，然后参考了 willin实现的ajax。虽然累死我了，好歹是修改成功了。willin 的ajax 评论代码改了好久，因为他的代码写得可真多，我去掉了很多对自己没用的并且在ajax插入嵌套评论到评论列表的时候换了一种更好的实现方法。 如果你的主题还是2.7之前的无嵌套评论，并且你喜欢嵌套评论，我建议你还是趁早升级吧哈。wordpress版本号越来越大，改动也越来越大，如果以后再升级可就要越来越不容易了。正所谓与时俱进嘛。更何况我是个“新版软件控”！ 至于让主题支持原生嵌套评论我这里就不介绍了，网上真的有一搜一大把的文章介绍了这个内容。 为了让评论向前兼容，所以我的嵌套评论保留了原来的@username的回复方式，哪怕哪一天我突然不想嵌套了，我也可以很快恢复原先的样式并且保留之前的完美形式(鼠标移动到@username会popup出user的原评论)！正因为继续保留了之前的@username的回复方式，所以我认为我的评论只需要采用二级嵌套就足够了，三级或者更多级的话不管是样式不好设计和控制，而且太多回复的时候很容易造成混乱的局面。二级嵌套的意义在于每一条评论表达的是评论者的核心价值观，对此的嵌套回复一般是对该条评论的回复，如果多一级成为三级嵌套，很容易就变成聊天了，确实很三级。 欢迎测试！ PS:真的是累坏了。接下来，还有一大堆别的要累坏我的事情要做。360度冰天雪地托马斯回旋45度角仰望天空直至内牛满面鸡皮疙瘩掉一地。]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.leeiio.me/blogimgs/2010/01/20100110_ajax-thread-comment.jpg" alt="泪流满面" /><br />
我都快不记得我最早用的wordpress是什么版本号了，总之一路升级过来经历了很多个版本，模板也因为各版本的升级改动了很多。特别是当wordpress 2.7出来的时候，我们再也不需要使用第三方插件来实现评论的嵌套了，因为它已经内置了。由于我的懒散以及一直假装很忙作为借口，并且舍不得之前的评论模式，所以一直没有让我的主题支持原生的嵌套评论。<br />
<span id="more-1768"></span><br />
昨天心血来潮，关了IM，关了google reader，关了可能会干扰我的各类网页，开始琢磨wordpress 2.7的原生嵌套。一开始是直接套用的default主题里的comment.php文件，由于2.7版本之后引入了wp_list_comments()函数来显示评论列表，而想特别修改评论列表格式的话就需要使用callback。主要参考了 <a rel="nofollow" href="http://www.saywp.com/wordpress/add-reply-function-in-wordpress-thread-comment-with-jquery.html">saywp</a> 主题的callback代码，然后参考了 <a href="http://willin.heliohost.org/?p=1271" rel="nofollow">willin</a>实现的ajax。虽然累死我了，好歹是修改成功了。willin 的ajax 评论代码改了好久，因为他的代码写得可真多，我去掉了很多对自己没用的并且在ajax插入嵌套评论到评论列表的时候换了一种更好的实现方法。</p>
<p>如果你的主题还是2.7之前的无嵌套评论，并且你喜欢嵌套评论，我建议你还是趁早升级吧哈。wordpress版本号越来越大，改动也越来越大，如果以后再升级可就要越来越不容易了。正所谓与时俱进嘛。更何况我是个“新版软件控”！</p>
<p>至于让主题支持原生嵌套评论我这里就不介绍了，网上真的有一搜一大把的文章介绍了这个内容。</p>
<p>为了让评论向前兼容，所以我的嵌套评论保留了原来的@username的回复方式，哪怕哪一天我突然不想嵌套了，我也可以很快恢复原先的样式并且保留之前的完美形式(鼠标移动到@username会popup出user的原评论)！正因为继续保留了之前的@username的回复方式，所以我认为我的评论只需要采用二级嵌套就足够了，三级或者更多级的话不管是样式不好设计和控制，而且太多回复的时候很容易造成混乱的局面。二级嵌套的意义在于每一条评论表达的是评论者的核心价值观，对此的嵌套回复一般是对该条评论的回复，如果多一级成为三级嵌套，很容易就变成聊天了，确实很三级。</p>
<p><img src="http://imgs.leeiio.me/blogimgs/2010/01/20100110_threadcomment.gif" alt="Wordpress 原生嵌套评论ajax的实现" /></p>
<p>欢迎测试！</p>
<p>PS:真的是累坏了。接下来，还有一大堆别的要累坏我的事情要做。360度冰天雪地托马斯回旋45度角仰望天空直至内牛满面鸡皮疙瘩掉一地。</p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/wordpress-ajax-thread-comments/feed/</wfw:commentRss>
		<slash:comments>68</slash:comments>
		</item>
		<item>
		<title>Mail to Commenter插件的发件人邮箱以及名称的问题修正</title>
		<link>http://leeiio.me/mail-to-commenter-sendmail-from/</link>
		<comments>http://leeiio.me/mail-to-commenter-sendmail-from/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 14:59:34 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[$headers]]></category>
		<category><![CDATA[邮件头]]></category>
		<category><![CDATA[Mail to Commenter]]></category>
		<category><![CDATA[发件人邮箱]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=1718</guid>
		<description><![CDATA[Mail to Commenter是一款评论辅助插件，通过判断评论内容是否含有‘@user ‘或‘@user:’的代码，然后将评论内容用邮件发送给user。我一直在使用这款插件，当然同时也推荐给还没有听闻或听闻了但还在观望的朋友。可是这款插件有个问题，相信很多朋友都遇到了，就是发件人名称以及邮箱地址的问题。 WordPress默认的发邮件的地址是wordpress@yourdomain.com，当然这个地址也是可以修改的。wordpress安装目录下，打开wp-includes\pluggable.php文件，搜索“wordpress@”，有两处，替换成你希望的名字就可以了。不过我们这里不讨论这个问题，虽然这个问题我也顺便说了解决方法了，相信也有不少朋友会想修改这个地址。 没错，正常情况下确实是这样的，通过 wordpress 后台发送给用户的邮件地址应该是 wordpress@yourdomain.com，可是偏偏给我碰到了不正常的情况，在我为解决之前搜索了下发现确实也有很多的朋友都有这个问题，Mail to Commenter作为一款优秀的使用广泛的插件就遭遇了这个问题。通常如果你的主机是合租性质的，并且不像 Hostmonster之类的可以通过在每个子账户根目录复制一个php.ini文件来配置的话，那么在使用 Mail to Commenter 插件通过你的 WordPress 程序发送给@user中的user的信件的邮件地址的后缀极有可能是root帐户配置的那个域名后缀。 比如我的主机是在淫荡的大猫的庙那里买的合租的 MediaTemple，root帐户配置的邮件地址是root(at)yslow(dot)info，那么我的 Mail to Commenter插件发送给每一个被我@user的user用户收到的邮件都将会显示这个邮件地址而不是我希望的默认的 wordpress@yourdomain.com或者我希望的任意一个指定的email地址。当然奇怪的是并非所有人都会碰到这个问题，所以作者也并没有完全修正这个问题。在这个YD的感冒飞扬的日子里，我留着鼻涕，打着喷嚏，打开了Mail to Commenter插件里的mailtocommenter_functions.php文件。因为本身就是插件，自然没必要请出淫荡的add_filter钩子大仙出山。邮件地址的问题无非是wp_mail()插件里面的$header变量引起的，那就找找看插件里有没有对$header的定义咯。 这里有必要对wp_mail()函数进行一些粗略简单的介绍((wp_mail()函数的更具体描述请看官方codex文档))。wp_mail()从命名方式就可以看出这个是wordpress发送email的核心函数。wp_mail()和php自带的mail()函数的参数差不多，注意它们都有对header信息的定义只不过都是可选的参数并不是必填参数，而当header参数未填写的时候，发件人也就是sendmail_from的定义就存在于php.ini里面了。 &#60;?php wp_mail&#40; $to, $subject, $message, $headers, $attachments &#41;; ?&#62; 继续回到mailtocommenter_functions.php文件。搜索header查找到了这么一段函数。 function mailtocommenter_send_email&#40;$to,$subject,$message&#41;&#123; $blogname &#8230; <a href="http://leeiio.me/mail-to-commenter-sendmail-from/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.leeiio.me/blogimgs/2009/11/20091124_sendmail.gif" alt="sendmail邮件头引发的血案" /><br />
<a rel="nofollow" href="http://www.thinkagain.cn/archives/989.html">Mail to Commenter</a>是一款评论辅助插件，通过判断评论内容是否含有‘@user ‘或‘@user:’的代码，然后将评论内容用邮件发送给user。我一直在使用这款插件，当然同时也推荐给还没有听闻或听闻了但还在观望的朋友。可是这款插件有个问题，相信很多朋友都遇到了，就是发件人名称以及邮箱地址的问题。</p>
<p>WordPress默认的发邮件的地址是wordpress@yourdomain.com，当然这个地址也是可以修改的。wordpress安装目录下，打开wp-includes\pluggable.php文件，搜索“wordpress@”，有两处，替换成你希望的名字就可以了。不过我们这里不讨论这个问题，虽然这个问题我也顺便说了解决方法了，相信也有不少朋友会想修改这个地址。<br />
<span id="more-1718"></span><br />
没错，正常情况下确实是这样的，通过 wordpress 后台发送给用户的邮件地址应该是 wordpress@yourdomain.com，可是偏偏给我碰到了不正常的情况，在我为解决之前搜索了下发现确实也有很多的朋友都有这个问题，Mail to Commenter作为一款优秀的使用广泛的插件就遭遇了这个问题。通常如果你的主机是合租性质的，并且不像 <a rel="nofollow" href="http://www.hostmonster.com/track/leeiio">Hostmonster</a>之类的可以通过在每个子账户根目录复制一个php.ini文件来配置的话，那么在使用 Mail to Commenter 插件通过你的 WordPress 程序发送给@user中的user的信件的邮件地址的后缀极有可能是root帐户配置的那个域名后缀。</p>
<p>比如我的主机是在淫荡的<a rel="nofollow" href="http://ooxx.me">大猫</a>的<a rel="nofollow" href="http://miao.in">庙</a>那里买的合租的 MediaTemple，root帐户配置的邮件地址是root(at)yslow(dot)info，那么我的 Mail to Commenter插件发送给每一个被我@user的user用户收到的邮件都将会显示这个邮件地址而不是我希望的默认的 wordpress@yourdomain.com或者我希望的任意一个指定的email地址。当然奇怪的是并非所有人都会碰到这个问题，所以作者也并没有完全修正这个问题。在这个YD的感冒飞扬的日子里，我留着鼻涕，打着喷嚏，打开了Mail to Commenter插件里的mailtocommenter_functions.php文件。因为本身就是插件，自然没必要请出淫荡的<a href="http://codex.wordpress.org/Function_Reference/add_filter" rel="nofollow">add_filter</a>钩子大仙出山。邮件地址的问题无非是wp_mail()插件里面的$header变量引起的，那就找找看插件里有没有对$header的定义咯。</p>
<p>这里有必要对wp_mail()函数进行一些粗略简单的介绍((wp_mail()函数的更具体描述请看官方<a rel="nofollow" href="http://codex.wordpress.org/Function_Reference/wp_mail">codex</a>文档))。wp_mail()从命名方式就可以看出这个是wordpress发送email的核心函数。wp_mail()和php自带的<a rel="nofollow" href="http://php.net/manual/en/function.mail.php">mail()</a>函数的参数差不多，注意它们都有对header信息的定义只不过都是可选的参数并不是必填参数，而当header参数未填写的时候，发件人也就是sendmail_from的定义就存在于php.ini里面了。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> wp_mail<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$to</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span><span style="color: #339933;">,</span> <span style="color: #000088;">$message</span><span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attachments</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>继续回到mailtocommenter_functions.php文件。搜索header查找到了这么一段函数。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> mailtocommenter_send_email<span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #339933;">,</span><span style="color: #000088;">$subject</span><span style="color: #339933;">,</span><span style="color: #000088;">$message</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$blogname</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'blogname'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">//获取博客名称赋值到$blogname变量里(leeiio注)</span>
	<span style="color: #000088;">$charset</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'blog_charset'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$headers</span>  <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;From: <span style="color: #006699; font-weight: bold;">$blogname</span> <span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">//设置header里面的from为$blogname(leeiio注)</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;MIME-Version: 1.0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Content-Type: text/html;charset=<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #006699; font-weight: bold;">$charset</span><span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$to</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #339933;">@</span>wp_mail<span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span><span style="color: #339933;">,</span> <span style="color: #000088;">$message</span><span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>也就是说，这段函数将博客的名称设置成了From，难怪我的博客通过Mail to Commenter发出去的发件人都显示成了如图所示。<br />
<img src="http://imgs.leeiio.me/blogimgs/2009/11/20091124_sendmail1.gif" alt="Mail to Commenter插件的发件人邮箱以及名称的问题修正" /><br />
十分诡异，就算获取博客名称也应该是Leeiio Chaos Made@yslow.info才对，可能是其中获取参数的时候程序处理秀逗了，因为我对php也是七窍通了六窍，所以各种的缘由还有待大师来解惑。(呃，懒得去翻wordpress的函数去查原因。。)</p>
<p>既然如此，那么我就只好采取强硬的手段来达到我的目的了。于是修改后的函数为：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> mailtocommenter_send_email<span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #339933;">,</span><span style="color: #000088;">$subject</span><span style="color: #339933;">,</span><span style="color: #000088;">$message</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$blogname</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'blogname'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$charset</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'blog_charset'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'From: Leeiio Chaos Made &lt;no-reply@leeiio.me&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//指定了发件人名称以及发件人邮箱，注意&lt;&gt;括号之前和发件人名称用空格隔开</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;MIME-Version: 1.0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Content-Type: text/html;charset=<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #006699; font-weight: bold;">$charset</span><span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$to</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #339933;">@</span>wp_mail<span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span><span style="color: #339933;">,</span> <span style="color: #000088;">$message</span><span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>于是，如图所示。<br />
<img src="http://imgs.leeiio.me/blogimgs/2009/11/20091124_sendmail2.gif" alt="Mail to Commenter插件的发件人邮箱以及名称的问题修正" /></p>
<p>根据我的一知半解，邮件header信息里面的From:要么是填写纯粹的邮件地址xxx@xxx.com要不是填写带<>的<xxx@xxx.com又或者想指定显示名称的话就填写XYZ <xxx@xxx.com>。但切勿只填写发件人名称，按照wordpress的wp_mail()函数处理的话，就有可能造成上图的诡异现象了。</p>
<p>废话一大堆，希望你们看懂了。不懂的话就在下面提问吧，本大湿会一一解答的。</p>
<p><em>题外话：现在很多的垃圾邮件都通过伪造邮件头信息来达到蒙蔽广大群众的目的，望各位火眼金睛，分辨仔细。并不是看到发件人是xxx@mircosoft.com的邮件就是微软发给你的中奖邮件，也有可能是骗子发给你的。</em><br />
延伸阅读：<a rel="nofollow" href="http://www.chinamyhosting.com/email/forge.php">有人用我的电子邮件帐户发垃圾邮件？</a></p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/mail-to-commenter-sendmail-from/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>5个插件让你的 WordPress 成为一个多语种网站</title>
		<link>http://leeiio.me/5-plugins-to-build-a-multilingual-wordpress-website/</link>
		<comments>http://leeiio.me/5-plugins-to-build-a-multilingual-wordpress-website/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 02:34:43 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[多语言]]></category>
		<category><![CDATA[多语言网站]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=1678</guid>
		<description><![CDATA[如果你正在使用Wordpress来做CMS，那么你可能会想要你的网站内容显示多种语言。最近，我看到一个使用 Wordpress 的博客，他的博客内容有三种语言版本展示。所以我决定去研究一下把 Wordpress 变成多语言支持的网站的方法以及插件。 <a href="http://leeiio.me/5-plugins-to-build-a-multilingual-wordpress-website/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.leeiio.me/blogimgs/2009/11/20091116_wordpress-multi-languages.jpg" alt="Wordpress 多语言插件指南" /><br />
如果你正在使用Wordpress来做CMS，那么你可能会想要你的网站内容显示多种语言。最近，我看到一个使用 WordPress 的博客，他的博客内容有三种语言版本展示。所以我决定去研究一下把 WordPress 变成多语言支持的网站的方法以及插件。<br />
<span id="more-1678"></span><br />
维护一个多语言内容的网站是一件很不容易的事情。展现多语言内容给你的访客的最好的方式就是让访客可以在任何时候自行选择语言并进行切换。所以使用到的插件必须需要关心到这个问题也就是把多语言的网站内容连接起来。</p>
<p>除了创建链接到不同的语言内容，被翻译的内容的 URL 地址也是极其重要的。这里有两种展示 URL 的方式：</p>
<ol>
<li> 你可以提供相同的永久链接给被翻译的内容页面，然后在 URL 结尾部分添加一个标记 (例如: www.domain.com/multi-language-article/?lang=en, www.domain.com/multi-language-article/?lang=es, www.domain.com/multi-language-article/?lang=zh).
</li>
<li>被翻译的内容页面将拥有完全不同的 URL 地址。 The </li>
</ol>
<p>因此，在你创建一个多语言网站之前，如何选择你的 URL 地址方案是另外一个要考虑的主要问题。从 <abbr title="搜索引擎优化">SEO</abbr> 的角度来看的话，拥有一个绝对不同的唯一地址将获得更大的优势。稍候，我将给你们介绍5个不同的插件来管理你的 WordPress 多语言网站。这些插件都各有利弊，因此选择一个最好最适合你需求的插件是至关重要的。</p>
<h2 class="part-title">1. <a rel="nofollow" href="http://wpml.org/">WPML</a></h2>
<p><img src="http://imgs.leeiio.me/blogimgs/2009/11/20091116_WPML.jpg" alt="WPML" /><br />
在我看来，WPML是最强力的WordPress多语言插件。 WPML有一个适合新手的非常完善的用户向导以及他的那些导航的设置足见其强大程度。通过管理后台的选项和配置都很多。到底有多强大呢，jinwen童鞋写过一篇文章很详细的介绍了该款插件，我就不多写了，大家可以到他的博客<a rel="nofollow" href="http://www.saywp.com/wordpress/wpml-multilingual-cms.html">查看</a>。虽然WPML很强大，但是如果你想添加一款后台默认不支持的语言，那么你会发现这并不是一件很容易的事情。举个例子，当我想要添加一个默认不支持的语言的时候，我需要用 Phpmyadmin进入管理 MySQL，然后手动添加执行 SQL 查询来实现。期待未来的版本能让这个过程变得更简单一些吧。</p>
<h2 class="part-title">2. <a rel="nofollow" href="http://wordpress.org/extend/plugins/qtranslate/">qTranslate</a></h2>
<p><img src="http://imgs.leeiio.me/blogimgs/2009/11/20091116_qtranslate.jpg" alt="qtranslate" /><br />
qTranslate 又是一个功能强大的多语言WordPress插件。它拥有WPML所没有的优势，因为他允许用户在配置页添加新的语言。在 URL 结构方面，qTranslate 提供了三种链接方案让你的 URL 地址变得更加美观且对 SEO 更友好：兼容其他插件格式的 ?lang=en 形式，简单漂亮的 /en/foo 形式 或者是漂亮简洁的子域名形式 en.domain.com。</p>
<h2 class="part-title">3. <a rel="nofollow" href="http://wordpress.org/extend/plugins/zdmultilang/">ZdMultiLang</a></h2>
<p><img src="http://imgs.leeiio.me/blogimgs/2009/11/20091116_zdmultilang.jpg" alt="zdmultilang" /><br />
你可以在后台定义多语言以及通过你在后台管理面板添加的界面来翻译文章/标签/分类。通过后台的管理面板添加一个用户自定义的语言是一件很简单的事情。但是在添加一个新语言之前你仍需要做一些重要的检查。例如，新语言的代码以及新语言的永久链接，推荐去插件网站仔细阅读帮助。</p>
<h2 class="part-title">4. <a rel="nofollow" href="http://www.poplarware.com/languageplugin.html">Language Switcher WordPress Plugin</a></h2>
<p><img src="http://imgs.leeiio.me/blogimgs/2009/11/20091116_language-switcher-wordpress-plugin.jpg" alt="Language Switcher WordPress Plugin" /><br />
要想为你的 WordPress 网站配置好 language switcher 插件需要做蛮多的设置的。插件的官方网站提供了一个比较全面的用户向导，涵盖了安装，主题和插件的修改，翻译还有一些问答。推荐去仔细阅读一下。</p>
<h2 class="part-title">5. <a rel="nofollow" href="http://wordpress.org/extend/plugins/xlanguage/">xLanguage</a></h2>
<p><img src="http://imgs.leeiio.me/blogimgs/2009/11/20091116_xlanguage.jpg" alt="xLanguage" /><br />
xLanguage是一个功能齐全的插件允许你博客在不同的语言间切换。它提供对博客文章，页面，标签以及分类的翻译。xLanguage 使用标签来区分不同的语言，同样当用户选择他们要切换的语言的时候展示出用户选择的语言的内容。</p>
<p>这些插件提供了让你在添加文章的时候可以添加多种版本的内容的功能，如果你要做一个专业的多语言网站，自行翻译内容肯定是十分必要的，虽然 <a rel="nofollow" href="http://wordpress.org/extend/plugins/google-ajax-translation/">Google AJAX Translation</a> 等一些自动翻译的插件都提供了多语言的方案，但毕竟是自动翻译的不是么，内容最多仅供参考啦。</p>
<p>原文来源<a rel="nofollow" href="http://www.webdesignbooth.com/wordpress-multi-languages-5-plugins-to-built-a-multilingual-website/">WDB</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/5-plugins-to-build-a-multilingual-wordpress-website/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>两个免费的WordPress Cheat Sheet [PDF]</title>
		<link>http://leeiio.me/wordpress-cheat-sheet-pdf/</link>
		<comments>http://leeiio.me/wordpress-cheat-sheet-pdf/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 12:15:18 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[Wordpress Themes]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Wordpress Cheat Sheet]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=1599</guid>
		<description><![CDATA[开发 WordPress 模板的朋友们应该会用得到。虽然官方已经有强大的 CodeX 了，但是你不觉得 PDF 版本查阅更方便么，离线也可看，把它打印出来贴在墙上或者任何地方，十分方便。 第一份 WordPress Cheat Sheet来自 Ekin Ertac。 第二份来自 WPCandy，由 Liquidicity制成 PDF。]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.leeiio.me/blogimgs/2009/10/20091010_wordpress-cheat-sheet.jpg" alt="Wordpress Cheat Sheet PDF" /><br />
开发 WordPress 模板的朋友们应该会用得到。虽然官方已经有强大的 <a rel="nofollow" href="http://codex.wordpress.org/Template_Tags">CodeX</a> 了，但是你不觉得 PDF 版本查阅更方便么，离线也可看，把它打印出来贴在墙上或者任何地方，十分方便。<br />
<span id="more-1599"></span><br />
第一份 WordPress Cheat Sheet来自 <a href="http://ekinertac.com/?p=259">Ekin Ertac</a>。</p>
<p>第二份来自 <a rel="nofollow" href="http://wpcandy.com/articles/tutorials/the-wordpress-help-sheet.html">WPCandy</a>，由 <a rel="nofollow" href="http://www.gosquared.com/liquidicity/archives/247">Liquidicity</a>制成 PDF。</p>
<p><p>Wordpress Cheat Sheet <small>版本号：1.0 (最后更新时间：2009-07-14)</small></p><p class="download left"><a class="downloadlink" href="http://leeiio.me/wp-content/plugins/download-monitor/download.php?id=8" title="版本号:1.0,目前共有459次下载,最后更新时间：2009-07-14" >Wordpress Cheat Sheet下载<em title="目前共有459次下载">389.89 kB 目前共有459次下载</em></a></p><p class="clear"></p> <p>WordPress Help Sheet <small>版本号：1.0 (最后更新时间：2007-11-02)</small></p><p class="download left"><a class="downloadlink" href="http://leeiio.me/wp-content/plugins/download-monitor/download.php?id=9" title="版本号:1.0,目前共有621次下载,最后更新时间：2007-11-02" >WordPress Help Sheet下载<em title="目前共有621次下载">591.69 kB 目前共有621次下载</em></a></p><p class="clear"></p></p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/wordpress-cheat-sheet-pdf/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>美化 WordPress 标题，个性字体生成图片标题插件推荐！</title>
		<link>http://leeiio.me/ttftitles-wordpress-plugin/</link>
		<comments>http://leeiio.me/ttftitles-wordpress-plugin/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 15:20:04 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[TTF Titles]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=1521</guid>
		<description><![CDATA[网页特殊字体的实现的话题一直被人们所谈论，就目前而言，还是无法直接实现兼容全浏览器的，通过一些工具生成字体库载入或者 js 实现等的方法倒是有很多。本篇不讨论这些。今天我要介绍的是一款让 WordPress 的标题以图片形式输出的插件，且可以定义输出图片的文字样式（包括字体、大小、是否阴影等）。 发现现在越来越多人的博客标题都设置成了“微软雅黑”，但是当访客的电脑没有微软雅黑的时候，看到的将会是访客电脑上的默认字体（Windows用户看到的是宋体，Mac 用户看到的是 Hei 体），并且因为电脑字体渲染的关系，在 Windows 下如果“微软雅黑”的字体不足够大，显示的效果还是挺糟糕的，主要是线条太细了，个人原因我是看不惯。 那么有没有方法能让每个人都能看到定义过字体的博客标题呢？第一段已经说明过，要想实现文字字体特殊样式且兼容目前的全部主流浏览器并不是一件易事，虽然说CSS 3中的@font-face属性可以定义字体样式，但是毕竟CSS 3目前并未普及，且离普及还尚有一段很长的时间，要知道，IE 6还并未有死去。 于是，就目前来说，最好的解决特殊字体样式输出的方法便是用图片输出，这款插件开发的作者就是这个想法，于是这款插件应运而生。可是由于该插件年代久远且都没有提交到WP官方插件目录，所以有什么问题可以直接给我留言，只要能帮到的我可以提供技术支持。 不用担心因此会造成对 SEO 的影响，因为原标题自动写进了图片的alt属性里面，所以，如果你不在乎那么点的图片下载，又喜欢让你的博客标题显得个性，那么就试试这款插件吧。]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.leeiio.me/blogimgs/2009/09/20090912_wp-ttf-title.jpg" alt="TTFTitles 美化 WordPress 标题，个性字体生成图片标题插件推荐！" /><br />
网页特殊字体的实现的话题一直被人们所谈论，就目前而言，还是无法直接实现兼容全浏览器的，通过一些工具生成字体库载入或者 js 实现等的方法倒是有很多。本篇不讨论这些。今天我要介绍的是一款让 WordPress 的标题以图片形式输出的插件，且可以定义输出图片的文字样式（包括字体、大小、是否阴影等）。<br />
<span id="more-1521"></span><br />
发现现在越来越多人的博客标题都设置成了“微软雅黑”，但是当访客的电脑没有微软雅黑的时候，看到的将会是访客电脑上的默认字体（Windows用户看到的是宋体，Mac 用户看到的是 Hei 体），并且因为电脑字体渲染的关系，在 Windows 下如果“微软雅黑”的字体不足够大，显示的效果还是挺糟糕的，主要是线条太细了，个人原因我是看不惯。</p>
<p>那么有没有方法能让每个人都能看到定义过字体的博客标题呢？第一段已经说明过，要想实现文字字体特殊样式且兼容目前的全部主流浏览器并不是一件易事，虽然说CSS 3中的@font-face属性可以定义字体样式，但是毕竟CSS 3目前并未普及，且离普及还尚有一段很长的时间，要知道，IE 6还并未有死去。</p>
<p>于是，就目前来说，最好的解决特殊字体样式输出的方法便是用图片输出，这款插件开发的作者就是这个想法，于是这款插件应运而生。可是由于该插件年代久远且都没有提交到WP官方插件目录，所以有什么问题可以直接给我留言，只要能帮到的我可以提供技术支持。</p>
<p><img src="http://imgs.leeiio.me/blogimgs/2009/09/20090912_ttftitles-wordpress-plugin.jpg" alt="TTFTitles 美化 WordPress 标题，个性字体生成图片标题插件推荐！" /></p>
<p>不用担心因此会造成对 SEO 的影响，因为原标题自动写进了图片的alt属性里面，所以，如果你不在乎那么点的图片下载，又喜欢让你的博客标题显得个性，那么就试试这款插件吧。</p>
<p><p>TTF Titles <small>版本号：0.4.2 (最后更新时间：2009-01-12)</small></p><p class="download left"><a class="downloadlink" href="http://leeiio.me/wp-content/plugins/download-monitor/download.php?id=6" title="版本号:0.4.2,目前共有785次下载,最后更新时间：2009-01-12" >TTF Titles下载<em title="目前共有785次下载">134.46 kB 目前共有785次下载</em></a></p><p class="clear"></p> <p>iLiHei 字体 <small>版本号：5.0 (最后更新时间：2007-08-15)</small></p><p class="download left"><a class="downloadlink" href="http://leeiio.me/wp-content/plugins/download-monitor/download.php?id=7" title="版本号:5.0,目前共有858次下载,最后更新时间：2007-08-15" >iLiHei 字体下载<em title="目前共有858次下载">11.1 MB 目前共有858次下载</em></a></p><p class="clear"></p></p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/ttftitles-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>133</slash:comments>
		</item>
		<item>
		<title>升级版！Cookies 记录你的 WordPress 侧边栏关闭/显示的状态</title>
		<link>http://leeiio.me/cookies-wordpress-sidebar/</link>
		<comments>http://leeiio.me/cookies-wordpress-sidebar/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 13:24:29 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[JS/Ajax/AS/Flex]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Cookies]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[侧边栏]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=1138</guid>
		<description><![CDATA[之前写过的《关闭/显示你的 WordPress 侧边栏，享受阅读快感》，当时并没有考虑到 Cookies 记录状态栏被改变后的状态问题，实在是我的不专业。总不能让用户不厌其烦的点击关闭/显示侧边栏吧。体验很不好！所以抽空对其进行了修改，让其可以根据 Cookies 来记录你的 WordPress 侧边栏的状态是关闭的还是显示的。 在本篇教程的开始之前，先感谢下 PhilNa 兄的帮助，让我解决了 Cookies 保存路径的问题，这样的话不管在哪个内页设置侧边栏的状态，Cookies 都将保存到根路径 &#8220;/&#8221;。 因为之前写过很详细的关闭/显示 你的 WordPress 侧边栏的教程了，所以请搭配前文观看。 如果你对之前的那篇文章没有理解上的困难的话，那么就开始我们的升级版之旅吧！ 1.js的更新，使用这段js代码： &#60;script type=&#34;text/javascript&#34; language=&#34;javascript&#34;&#62; $&#40;document&#41;.ready&#40;function&#40;&#41;&#123; //SetCookies &#40;function&#40;&#41;&#123; function SetCookie&#40;c_name,value,expiredays&#41;&#123; var exdate=new Date&#40;&#41;; exdate.setDate&#40;exdate.getDate&#40;&#41;+expiredays&#41;; document.cookie=c_name+&#34;=&#34;+escape&#40;value&#41;+&#40;&#40;expiredays==null&#41;?&#34;&#34;:&#34;;expires=&#34;+exdate.toGMTString&#40;&#41;&#41;+&#34;;path=/&#34;; //如果你希望每个页面都有个独立的 Cookies 设置的话请去掉+&#34;;path=/&#34;，这样的话leeiio.me/xxx/ 和leeiio.me/yyy/ 的侧边栏状态都将是独立的 &#8230; <a href="http://leeiio.me/cookies-wordpress-sidebar/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.leeiio.me/blogimgs/2009/04/20090401_closeshowsidebar.gif" alt="升级版！Cookies 记录你的 WordPress 侧边栏关闭/显示的状态" /><br />
之前写过的<a href="http://leeiio.me/show-close-sidebar-wordpress/">《关闭/显示你的 WordPress 侧边栏，享受阅读快感》</a>，当时并没有考虑到 Cookies 记录状态栏被改变后的状态问题，实在是我的不专业。总不能让用户不厌其烦的点击关闭/显示侧边栏吧。体验很不好！所以抽空对其进行了修改，让其可以根据 Cookies 来记录你的 WordPress 侧边栏的状态是关闭的还是显示的。<br />
<span id="more-1138"></span><br />
在本篇教程的开始之前，先感谢下 <a rel="nofollow" href="http://philna.com/">PhilNa</a> 兄的帮助，让我解决了 Cookies 保存路径的问题，这样的话不管在哪个内页设置侧边栏的状态，Cookies 都将保存到根路径 &#8220;/&#8221;。</p>
<p>因为之前写过很详细的<strong>关闭/显示 你的 WordPress 侧边栏</strong>的教程了，所以请搭配<a href="http://leeiio.me/show-close-sidebar-wordpress/">前文</a>观看。</p>
<p><strong>如果你对之前的那篇文章没有理解上的困难的话，那么就开始我们的升级版之旅吧！</strong></p>
<p><strong>1.js的更新，使用这段js代码：</strong></p>

<div class="wp_syntax"><div 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> language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span>
$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #006600; font-style: italic;">//SetCookies </span>
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">function</span> SetCookie<span style="color: #009900;">&#40;</span>c_name<span style="color: #339933;">,</span>value<span style="color: #339933;">,</span>expiredays<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> exdate<span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
exdate.<span style="color: #660066;">setDate</span><span style="color: #009900;">&#40;</span>exdate.<span style="color: #660066;">getDate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>expiredays<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
document.<span style="color: #660066;">cookie</span><span style="color: #339933;">=</span>c_name<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;=&quot;</span><span style="color: #339933;">+</span>escape<span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>expiredays<span style="color: #339933;">==</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;;expires=&quot;</span><span style="color: #339933;">+</span>exdate.<span style="color: #660066;">toGMTString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;;path=/&quot;</span><span style="color: #339933;">;</span> 
<span style="color: #006600; font-style: italic;">//如果你希望每个页面都有个独立的 Cookies 设置的话请去掉+&quot;;path=/&quot;，这样的话leeiio.me/xxx/ 和leeiio.me/yyy/ 的侧边栏状态都将是独立的           </span>
<span style="color: #009900;">&#125;</span>
window<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'RootCookies'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
window<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'RootCookies'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'SetCookie'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> SetCookie<span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//JavaScript 的命名空间，假使你已有一个 SetCookie 的函数的话将不会与之冲突，通过 RootCookie.SetCookie() 调用</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//Toggle Sidebar</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.close-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
   RootCookies.<span style="color: #660066;">SetCookie</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show_sidebar'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'no'</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>      <span style="color: #006600; font-style: italic;">//设置一个名为show_sidebar的cookie,值为no,保存天数为1</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.close-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                           <span style="color: #006600; font-style: italic;">//隐藏&quot;关闭侧边栏&quot;按钮</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.show-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                          <span style="color: #006600; font-style: italic;">//显示&quot;显示侧边栏&quot;按钮</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>width<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;910px&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.show-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>  
   RootCookies.<span style="color: #660066;">SetCookie</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show_sidebar'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'no'</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>       
   <span style="color: #006600; font-style: italic;">//设置一个名为show_sidebar的cookie,值为no,保存天数为-1,也就是说让cookies失效,也就是删除这个cookie</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.show-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                             <span style="color: #006600; font-style: italic;">//隐藏&quot;显示侧边栏&quot;按钮</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.close-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                            <span style="color: #006600; font-style: italic;">//显示&quot;关闭侧边栏&quot;按钮</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>width<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;690px&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>opacity<span style="color: #339933;">:</span> <span style="color: #CC0000;">1.0</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">500</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeIn</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p><strong>2.插入控制按钮</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$_COOKIE</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'show_sidebar'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span><span style="color: #0000ff;">'no'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">?&gt;</span>      //当Cookie为show_sidebar的值为0的时候
&lt;li class=&quot;close-sidebar&quot; title=&quot;关闭侧边栏&quot;&gt;关闭侧边栏&lt;/li&gt;
&lt;li class=&quot;show-sidebar&quot; style=&quot;display:none;&quot; title=&quot;显示侧边栏&quot;&gt;显示侧边栏&lt;/li&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">else</span><span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>                                                      
&lt;li class=&quot;close-sidebar&quot; style=&quot;display:none;&quot; title=&quot;关闭侧边栏&quot;&gt;关闭侧边栏&lt;/li&gt;
&lt;li class=&quot;show-sidebar&quot; title=&quot;显示侧边栏&quot;&gt;显示侧边栏&lt;/li&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>将这段代码插入你模板中需要显示功能按钮的地方即可！</p>
<p><strong>3.设置css，当侧边栏不显示的时候，让正文区域宽度增大，侧边栏不显示</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_COOKIE</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'show_sidebar'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span><span style="color: #0000ff;">'no'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">?&gt;</span>   
//当Cookie为show_sidebar的值为no的时候，载入一下的两个css
&lt;style type=&quot;text/css&quot;&gt;
#content {width:910px;}                             
//让主题部分的宽度为910px，请参照自己的blog进行调整
.sidebar {display:none;}                               
//让侧边栏不显示
&lt;/style&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>将以上这段代码插入index.php以及single.php以及page.php页面，如果你还有别的页面的话，同理插入这段代码！</p>
<p><em>如果你不想让自己的模板文件插入这些css的话，第3步还可以这样写。将第1步的js修改为如下</em></p>

<div class="wp_syntax"><div 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> language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span>
$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #006600; font-style: italic;">//SetCookies </span>
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">function</span> SetCookie<span style="color: #009900;">&#40;</span>c_name<span style="color: #339933;">,</span>value<span style="color: #339933;">,</span>expiredays<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> exdate<span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
exdate.<span style="color: #660066;">setDate</span><span style="color: #009900;">&#40;</span>exdate.<span style="color: #660066;">getDate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>expiredays<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
document.<span style="color: #660066;">cookie</span><span style="color: #339933;">=</span>c_name<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;=&quot;</span><span style="color: #339933;">+</span>escape<span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>expiredays<span style="color: #339933;">==</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;;expires=&quot;</span><span style="color: #339933;">+</span>exdate.<span style="color: #660066;">toGMTString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;;path=/&quot;</span><span style="color: #339933;">;</span> 
<span style="color: #006600; font-style: italic;">//如果你希望每个页面都有个独立的 Cookies 设置的话请去掉+&quot;;path=/&quot;，这样的话leeiio.me/xxx/ 和leeiio.me/yyy/ 的侧边栏状态都将是独立的           </span>
<span style="color: #009900;">&#125;</span>
window<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'RootCookies'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
window<span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'RootCookies'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'SetCookie'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> SetCookie<span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//JavaScript 的命名空间，假使你已有一个 SetCookie 的函数的话将不会与之冲突，通过 RootCookie.SetCookie() 调用</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">//Toggle Sidebar</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.close-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
   RootCookies.<span style="color: #660066;">SetCookie</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show_sidebar'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'no'</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>      <span style="color: #006600; font-style: italic;">//设置一个名为show_sidebar的cookie,值为no,保存天数为1</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.close-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                           <span style="color: #006600; font-style: italic;">//隐藏&quot;关闭侧边栏&quot;按钮</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.show-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                          <span style="color: #006600; font-style: italic;">//显示&quot;显示侧边栏&quot;按钮</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>width<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;910px&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.show-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>  
   RootCookies.<span style="color: #660066;">SetCookie</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show_sidebar'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'no'</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>       
   <span style="color: #006600; font-style: italic;">//设置一个名为show_sidebar的cookie,值为no,保存天数为-1,也就是说让cookies失效,也就是删除这个cookie</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.show-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                             <span style="color: #006600; font-style: italic;">//隐藏&quot;显示侧边栏&quot;按钮</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.close-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                            <span style="color: #006600; font-style: italic;">//显示&quot;关闭侧边栏&quot;按钮</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>width<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;690px&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>opacity<span style="color: #339933;">:</span> <span style="color: #CC0000;">1.0</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">500</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeIn</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #006600; font-style: italic;">//与第1步不同的地方开始，以下是区别与第一步js的新增代码</span>
<span style="color: #006600; font-style: italic;">//Get cookies Value  获取cookies的值</span>
<span style="color: #003366; font-weight: bold;">var</span> cookies <span style="color: #339933;">=</span> document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;; &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">function</span> GetCookieValue<span style="color: #009900;">&#40;</span>cookieName<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> ret <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> cookies.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> leeiiocookies <span style="color: #339933;">=</span> cookies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;=&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>cookieName <span style="color: #339933;">==</span> leeiiocookies<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            ret <span style="color: #339933;">=</span> unescape<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">decodeURI</span><span style="color: #009900;">&#40;</span>leeiiocookies<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000066; font-weight: bold;">return</span> ret
<span style="color: #009900;">&#125;</span>
<span style="color: #006600; font-style: italic;">//判断cookies的值</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'no'</span> <span style="color: #339933;">==</span> GetCookieValue<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show_sidebar'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'width'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'910px'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
    <span style="color: #006600; font-style: italic;">//让正文区域的宽度设置为910px,也就是隐藏sidebar之后的可使宽度,你也可以修改为关闭侧边栏时候的动态效果</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #006600; font-style: italic;">//让侧边栏隐藏</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>不过我还是推荐将 css 写入模板文件，因为这样通过 php 判断的话，用户看到的直接就是侧边栏已经消失了且正文宽度增大后的效果，通过 js 的话在 js 未载入完全之前页面还是先前的样子，然后侧边栏才会消失，正文也会变宽。</p>
<p><strong>大功告成！代码里面加了很详细的注释了，没加注释的在前篇也都已经注释并解释过，怎么样，很 easy 吧！如果你耐心地看完了本文的话，确实是很 easy 的！jQuery 真简便啊真简便！</strong></p>
<p>谢谢观赏！</p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/cookies-wordpress-sidebar/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>关闭/显示你的 WordPress 侧边栏，享受阅读快感</title>
		<link>http://leeiio.me/show-close-sidebar-wordpress/</link>
		<comments>http://leeiio.me/show-close-sidebar-wordpress/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 04:19:43 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[JS/Ajax/AS/Flex]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[侧边栏]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=1084</guid>
		<description><![CDATA[用 jQuery 实现关闭/显示你的 Wordpress 侧边栏的功能，当然，前提还得是你的部落格载入了 jQuery 库，推荐你使用 Google Ajax Library 的 jQuery 调用地址。首先在你的网页中你想要显示 关闭/显示侧边栏 的提示按钮或者文字，接着就是 jQuery 功能代码部分了。 <a href="http://leeiio.me/show-close-sidebar-wordpress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.guaniu.com/blogpics/month_0903/20090305_closeshowsidebar.gif" alt="关闭/显示你的 WordPress 侧边栏，享受阅读快感" title="关闭/显示你的 WordPress 侧边栏，享受阅读快感" /><br />
最近很忙，所以也就没时间博了，连好友的 Twitter 都鲜有 @，Google Reader 都有3000+ 的未读了，实在是罪过罪过。今早上班，瞅着博客突然想到以前用 Bo-Blog 以及 PjBlog 的时候，发现他们都是有关闭/显示侧边栏的功能的，那时候 jQuery 还不流行。于是我想，给自己现在的 Blog 加上这么个功能那将是比较酷的，除此之外，因为隐藏掉了侧边栏，主体内容区域就变大了，浏览文章特别是图片很多的摄影作品欣赏类的文章的时候，那将会带来不错的阅读快感，至少我是这么觉得的。当然，好东西要分享，那么大家请跟着我以下的描述来一起动手吧。<br />
<span id="more-1084"></span><br />
<strong>当然，前提还得是你的部落格载入了 jQuery 库，推荐你使用 <a href="http://leeiio.me/google-cdn-host-ajax-library-jquery/"><strong>Google Ajax Library</strong></a> 的 jQuery 调用地址。</strong></p>
<p>首先在你的网页中你想要显示 关闭/显示侧边栏 的提示按钮或者文字，我这里就举个简单的例子，比如在你的 WordPress 模板中插入</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;show-close-sidebar&quot;</span>&gt;</span>关闭/显示 侧边栏<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span></pre></div></div>

<p>接着就是 jQuery 功能代码部分了，请先看以下这段代码：</p>

<div class="wp_syntax"><div 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> language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.show-close-sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggle</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;fast&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #006600; font-style: italic;">//让侧边栏快速渐隐掉</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
		width<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;915px&quot;</span>             <span style="color: #006600; font-style: italic;">//让正文主体部分宽度增加到915px</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                            <span style="color: #006600; font-style: italic;">//执行时间是1000毫秒</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
<span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
		width<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;700px&quot;</span>              <span style="color: #006600; font-style: italic;">//让正文主体部分宽度收缩到700px</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                             <span style="color: #006600; font-style: italic;">//执行时间是1000毫秒</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.sidebar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeIn</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">3000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #006600; font-style: italic;">//让侧边栏渐渐隐现回来，执行时间为5000毫秒</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>是吧，代码非常的简单，并且我做了代码格式化，大家看起来结构比较清晰点。然后我稍作讲解。</p>
<p>这里使用了 jQuery 中的 <strong>toggle() ，fadeIn() ，fadeOut() ，animate()</strong> 这四个函数，API参考文档可以看这个<a href="http://jquery-api-zh-cn.googlecode.com/svn/trunk/index.html" rel="external nofollow"> jQuery API 参考文档在线中文版</a>，也可以去 <a href="http://docs.jquery.com/Main_Page" rel="external nofollow">jQuery 官方文档</a>看。</p>
<blockquote><p>
以上的功能代码用中文表述的意思就是当 class 为 show-close-sidebar 的元素被点击的时候，执行 toggle 函数，toggle 函数里面有两个 function ()，之所以有两个是因为要让那个被点击的元素点击第一次和第二次的时候执行不同的功能，不然你看如果把侧边栏给关了，不就无法恢复了么，您说是不是？在第一个 function () 函数里面，我先让 class 为 sidebar 的元素(就是我的侧边栏，你的侧边栏是什么 class 就替换成什么)渐隐掉，然后让 ID 为 #content 的运行 animate() 函数，animate()函数里面就是让那个 ID 为 #content 的元素宽度增加到 915px，也就是让你的正文区域扩大宽度，这不侧边栏不是被隐藏了么，当然要把正文区域增宽回来。1000 是执行的时间，单位是毫秒，你自行控制。下一个 function () 函数无非就是倒过来写，先执行让 #content 缩小然后再出现侧边栏，这样效果看起来比较自然，不然一开始侧边栏重新显示出来的时候被 #content 给遮挡了，然后#content再收缩回原来的宽度的时候，你就看不到侧边栏显示出来的那种效果了。</p></blockquote>
<p><strong>演示见本站顶部导航 Show/Close Sidebar。</strong></p>
<p><strong>我想这样的中文解释不知道是否给你们带来了更大的困惑，如果有不明白的就给我留言，我会一一解答。</strong></p>
<p>当然，要想实现本站收缩的时候的那种抖动效果，你可以调用 <a href="http://gsgd.co.uk/sandbox/jquery/easing/" rel="external nofollow">Easing</a> 插件。</p>
<p>jQuery 库真是个易用且庞大的 javascript 库，当然我这些都是皮毛技巧，总是想要实现什么效果了然后去 API 文档看看都有哪些效果然后再写代码，这样很不好，导致的后果就是有可能有更好的办法可以不用这么麻烦的<strong>功能函数</strong>而用一些简单的函数就能实现效果。所以我准备系统地去研究学习下 jQuery，毕竟我连 Javascript 也不会，总是这么折腾也不是个事儿，总得让自己专业点，你说是不是。</p>
<p><strong>请大家继续关注本部落格，也可以 Follow <a href="https://twitter.com/leeiio/" rel="external nofollow">我的 Twitter</a>，稍候我可能要放送 jQuery 的入门系列文章了，有兴趣地欢迎和我一起学习 jQuery。谢谢观赏！</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/show-close-sidebar-wordpress/feed/</wfw:commentRss>
		<slash:comments>81</slash:comments>
		</item>
		<item>
		<title>Canonical tag 规范化 WordPress 的 URL 来提升页面权重</title>
		<link>http://leeiio.me/canonical-wordpress-url/</link>
		<comments>http://leeiio.me/canonical-wordpress-url/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 15:48:14 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[wordpress theme]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=1072</guid>
		<description><![CDATA[Wordpress 中文章内容重复似乎是一件很难避免的事情，分类列表，tag 标签的文章列表，按时间的文章列表存档页等等，都会重复地出现你的文章内容，而搜索引擎对于内容相同但是 URL 不同的页面的处理态度是不会惩罚，而是会尽可能地判断出哪个页面才是真正的规范化 URL 的页面，然后索引进它们的数据库，这样当你搜索相关词条的时候，展示出来的结果的 URL 可能并不是你所希望的 URL。 比如之前我装过一个 WP-Print 单篇页面的插件，那个插件生成的打印页面的 URL 就是当篇文章的URL 最末位加上 /print/ 变成了 http://leeiio.me/xx/print/，于是傻傻的搜索引擎就把这个页面作为他认定的规范化 URL 收录了，结果出来的搜索结果页 URL 很让我窝火，这也不是访客所希望打开的 URL。 又比如现在很流行将评论分页显示，那么同一个单篇文章的 URL 可能就不是唯一的一个了。之前的 http://leeiio.me/xx/ 就因为评论分页而可能产生 http://leeiio.me/xx/comment-page1 或者 http://leeiio.me/xx/comment-page2 等 URL 了，而你知道这些 URL 打开的时候页面内容几乎就是一样的，或者说是相似度极高的页面，这样搜索引擎就又可能犯迷糊地收录 http://leeiio.me/xx/comment-page1 这个地址了。 再则，内容相同但是 &#8230; <a href="http://leeiio.me/canonical-wordpress-url/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.guaniu.com/blogpics/month_0902/20090227_canonical-wp-url.gif" alt="Canonical tag 规范化 WordPress 的 URL 来提升页面权重" title="Canonical tag 规范化 WordPress 的 URL 来提升页面权重" /><br />
Wordpress 中文章内容重复似乎是一件很难避免的事情，分类列表，tag 标签的文章列表，按时间的文章列表存档页等等，都会重复地出现你的文章内容，而搜索引擎对于内容相同但是 URL 不同的页面的处理态度是不会惩罚，而是会尽可能地判断出哪个页面才是真正的规范化 URL 的页面，然后索引进它们的数据库，这样当你搜索相关词条的时候，展示出来的结果的 URL 可能并不是你所希望的 URL。<br />
<span id="more-1072"></span><br />
比如之前我装过一个 WP-Print 单篇页面的插件，那个插件生成的打印页面的 URL 就是当篇文章的URL 最末位加上 /print/ 变成了 http://leeiio.me/xx/print/，于是傻傻的搜索引擎就把这个页面作为他认定的规范化 URL 收录了，结果出来的搜索结果页 URL 很让我窝火，这也不是访客所希望打开的 URL。</p>
<p>又比如现在很流行将评论分页显示，那么同一个单篇文章的 URL 可能就不是唯一的一个了。之前的 http://leeiio.me/xx/ 就因为评论分页而可能产生 http://leeiio.me/xx/comment-page1 或者 http://leeiio.me/xx/comment-page2 等 URL 了，而你知道这些 URL 打开的时候页面内容几乎就是一样的，或者说是相似度极高的页面，这样搜索引擎就又可能犯迷糊地收录 http://leeiio.me/xx/comment-page1 这个地址了。</p>
<p>再则，内容相同但是 URL 却有很多个，SEOer 可能都知道，这样会分散页面权重。</p>
<p>Google 最近联合 Ask.com,微软 Live Search 和 Yahoo!一起弄出了一个标签 canonical tag，用于解决网址规范化问题。就是在 &lt;head&gt;&lt;/head&gt;部分添加这样一行标记代码:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;canonical&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://leeiio.me/xx/&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p>这样的话不管是 http://leeiio.me/xx/comment-page1 或者 http://leeiio.me/xx/comment-page2，搜索引擎都将只会将http://leeiio.me/xx/ 作为规范化 URL 来收录，同时 http://leeiio.me/xx/comment-page1 以及 http://leeiio.me/xx/comment-page1 的页面权重诸如 PR 都会流向那个规范化 URL。</p>
<p>说了一大堆，无非就是给大家讲明白这个 canonical tag 究竟是何方神圣。更加详尽的官方说明可以查看 <a rel="nofollow" href="http://www.googlechinawebmaster.com/2009/02/url.html">谷歌中文网站管理员博客</a>。</p>
<p>Yoast 开发了一个 WordPress 插件 <a href="http://yoast.com/wordpress/canonical/">Canonical URL plugin</a>，用来实现你的 WP Blog 的 URL 规范化，目前是 0.1 版。作者将各个分页的 URL 全部都指定规范化 URL 为首页的 URL 。例如 http://leeiio.me/page/1/ 以及 http://leeiio.me/page/2/ 等等地址都设置了规范化 URL 为 http://leeiio.me/ 。并且单篇文章以及页面文章皆有设置规范化 URL 。</p>
<p>当然如果你觉得诸如文章分类或者博客分页没必要设定首页 URL 为规范化 URL，而仅仅希望单篇文章页以及页面设置一个规范化 URL 的话，你可以手动添加代码。打开你的 header.php，然后在 &lt;head&gt; 之前添加如下代码即可。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> is_singular<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;link rel=&quot;canonical&quot; href=&quot;'</span> <span style="color: #339933;">.</span> get_permalink<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot; /&gt;'</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>谢谢观赏！</p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/canonical-wordpress-url/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>用 jQuery 實現的 WordPress 標註作者的最後評論回覆</title>
		<link>http://leeiio.me/jquery-last-by-author/</link>
		<comments>http://leeiio.me/jquery-last-by-author/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 02:59:52 +0000</pubDate>
		<dc:creator>Leeiio</dc:creator>
				<category><![CDATA[JS/Ajax/AS/Flex]]></category>
		<category><![CDATA[My Works]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[標註作者最後評論]]></category>

		<guid isPermaLink="false">http://leeiio.me/?p=963</guid>
		<description><![CDATA[小把戲，並且這標題有點拗口，我很擔心你們看到標題就已經暈了，不過實現這個效果的方法倒是挺簡單的。 靈感來自牛逼的 Shawn，他博客上面的他自己的評論都是在左側加了空心的星星，但是他的最後回覆則是綠色的星星，這樣給訪客的感覺就是作者只回覆到了這裡，或者換種理解的意思就是“已閱到這個評論”，有點類似論壇裡面可能常看到的“已閱至此樓”的插件功能。當然你也可能會覺得這個功能無足輕重，但是我覺得還是挺有意思的，可以讓訪客知道作者有多久沒來過了，因為一般來說，看到自己的博客有人評論的話肯定會先回覆的吧。 本人的 jQuery 也都是些皮毛功夫，代碼寫得不好也見笑了，歡迎批評指正。 如果還不是很明白這個功能所表達的意思的話，你可以先看看下面這個截圖。 就如截圖種的這樣，只是給某篇日誌該作者的最後評論回覆加一個標註，可以是一個圖片也可以是一些提醒文字，本文講的是用圖片來標註的。請接著往下看。 準備工作： 首先得確定你的主題中評論頁面裡面，作者的評論和訪客的評論是否具有不同的樣式，比如我的評論區域訪客的 class=&#8221;comments&#8221;，而作者的評論樣式是 class=&#8221;comments&#8221;，不然下文就不能判斷並篩選出作者的評論了。如果發現自己的主題並沒有這樣的設計，那麽你可以 google 下怎麽設計這個功能代碼，或者可以參考我提供給你的方法。 區分作者評論和訪客評論的樣式方法： 打開 comments.php 頁面，在任意処加入以下代碼(必須在評論輸出的代碼片段之前)，比如我的每一個評論都是用 li 標簽來包裹的，那麽你可以選擇加在以下代碼之前 1 &#60;li class=&#34;&#60;?php echo $oddcomment; ?&#62; comments ?&#62;&#34; id=&#34;comment-&#60;?php comment_ID&#40;&#41; ?&#62;&#34;&#62; 修改後的代碼 1 2 3 4 5 6 7 &#60;?php &#8230; <a href="http://leeiio.me/jquery-last-by-author/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>小把戲，並且這標題有點拗口，我很擔心你們看到標題就已經暈了，不過實現這個效果的方法倒是挺簡單的。</p>
<p>靈感來自牛逼的 <a href="http://ishawn.net" rel="nofollow">Shawn</a>，他博客上面的他自己的評論都是在左側加了空心的星星，但是他的最後回覆則是綠色的星星，這樣給訪客的感覺就是作者只回覆到了這裡，或者換種理解的意思就是“已閱到這個評論”，有點類似論壇裡面可能常看到的“已閱至此樓”的插件功能。當然你也可能會覺得這個功能無足輕重，但是我覺得還是挺有意思的，可以讓訪客知道作者有多久沒來過了，因為一般來說，看到自己的博客有人評論的話肯定會先回覆的吧。</p>
<p><strong>本人的 jQuery 也都是些皮毛功夫，代碼寫得不好也見笑了，歡迎批評指正。</strong></p>
<p>如果還不是很明白這個功能所表達的意思的話，你可以先看看下面這個截圖。<br />
<span id="more-963"></span><br />
<img class="imgborder" src="http://imgs.guaniu.com/blogpics/month_0902/20090218_lastbyauthor.gif" alt="用 jQuery 實現的 WordPress 標註作者的最後評論回覆" title="用 jQuery 實現的 WordPress 標註作者的最後評論回覆" /></p>
<p>就如截圖種的這樣，只是給某篇日誌該作者的最後評論回覆加一個標註，可以是一個圖片也可以是一些提醒文字，本文講的是用圖片來標註的。請接著往下看。</p>
<p><strong>準備工作：</strong></p>
<blockquote><p>
首先得確定你的主題中評論頁面裡面，作者的評論和訪客的評論是否具有不同的樣式，比如我的評論區域訪客的 <em>class=&#8221;comments&#8221;</em>，而作者的評論樣式是 <em>class=&#8221;comments&#8221;</em>，不然下文就不能判斷並篩選出作者的評論了。如果發現自己的主題並沒有這樣的設計，那麽你可以 google 下怎麽設計這個功能代碼，或者可以參考我提供給你的方法。
</p></blockquote>
<p><strong>區分作者評論和訪客評論的樣式方法：</strong><br />
打開 comments.php 頁面，在任意処加入以下代碼(必須在評論輸出的代碼片段之前)，比如我的每一個評論都是用 li 標簽來包裹的，那麽你可以選擇加在以下代碼之前</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;">&lt;li class=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$oddcomment</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> comments ?&gt;&quot; id=&quot;comment-<span style="color: #000000; font-weight: bold;">&lt;?php</span> comment_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;</pre></td></tr></table></div>

<p>修改後的代碼</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: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #000088;">$isByAuthor</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_author_email</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'xxxxxx@gmail.com'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$isByAuthor</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;li class=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$oddcomment</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> comments<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$isByAuthor</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;-author&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; id=&quot;comment-<span style="color: #000000; font-weight: bold;">&lt;?php</span> comment_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;</pre></td></tr></table></div>

<p>將上面的代碼中的email地址修改為你自己的 email，代碼的作用就是判斷你填寫的 email 來區別你的評論與訪客的評論。</p>
<p><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="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: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> lastbyauthor <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'ol.thecomments'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.comments-author:last'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
$<span style="color: #009900;">&#40;</span>lastbyauthor<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;background&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;#FAFAFA url(images/lastbyauthor.png) right 10px no-repeat&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'name'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'lastbyauthor'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div.commentcount a'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>title<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;作者最後的評論回覆&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>將以上的代碼加入到你模板文件的 </head>  或者 </body> 之前即可，當然你也可以加入到自己的 js文件裏。</p>
<p>我大致講解下這段 jQuery 代碼，我這裏定義一個變量 lastbyauthor，<em>$(&#8216;ol.thecomments&#8217;)</em> 就是你的評論顯示區域的外面所包裹的標記，大部分主題都是用 ol 標記的，然後在這段 ol 所包裹著的代碼中用 find() 函數查找出最後的一個 樣式為 <em>class=&#8221;comments-author&#8221;</em> 的那段評論。然後對這段評論的樣式進行特殊的 css。懂的人可能看出來了我這裏還定義了一個 name 屬性，名字為 lastbyauthor，這是為了給作者最後的評論添加錨標簽用的，不用 id 是因為每一個評論都已經擁有一個數據庫生成的評述數了。</p>
<p><strong>比如你可以在評論模板的任何地方添加以下代碼：</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">追蹤作者<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#lastbyauthor&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;color:red&quot;</span>&gt;</span>最後的軌跡<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>!</pre></div></div>

<p><strong>效果：</strong>點擊後面的紅色文字追蹤作者<a href="#lastbyauthor" style="color:red">最後的軌跡</a>!</p>
<p>當然，你還需要準備一張類似如下的醒目提醒圖片：<img src="http://leeiio.me/wp-content/themes/light-colorful/images/lastbyauthor.png" alt="last by author" /></p>
<p><strong>是不是覺得很簡單。不知道對於新手的話我說得是不是夠詳細了，如果還有不明白的可以給我回復，我都將一一耐心講解回復，謝謝惠顧！</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://leeiio.me/jquery-last-by-author/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
	</channel>
</rss>

