<?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>Life Studio &#187; 本地</title>
	<atom:link href="http://wange.im/tag/localhost/feed" rel="self" type="application/rss+xml" />
	<link>http://wange.im</link>
	<description>My Life, My Studio...</description>
	<lastBuildDate>Fri, 20 Jan 2012 01:49:17 +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>WordPress 2.7+主题 gravatar 头像缓存</title>
		<link>http://wange.im/cache-gravatar-for-wordpress-2-7.html</link>
		<comments>http://wange.im/cache-gravatar-for-wordpress-2-7.html#comments</comments>
		<pubDate>Fri, 13 Nov 2009 12:13:30 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[转来载去]]></category>
		<category><![CDATA[gravatar]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[本地]]></category>
		<category><![CDATA[缓存]]></category>

		<guid isPermaLink="false">http://wange.im/?p=2107</guid>
		<description><![CDATA[之前就给用 WordPress 的朋友介绍过缓存 Gravatar 头像至本地服务器的方法，但是我当时介绍的方法仅适用于 WordPress 2.7 之前的主题，不过貌似 WordPress 2.7+ 以后，被引进了 wp_list_comments 这一函数（具体啥时候被 WordPress 小组引进的我没有仔细研究过～），以前的头像缓存到本地的方法就不再适用了。我也一直没有注意这个问题，直到我自己把林子的 D&#38;Z 主题升级到支持 wp_list_comments 后才发现这个问题，然后就急于寻求新的 Gravatar 头像缓存的方法。 首先找到了兽兽的方法，看是看懂了，不过折腾了半天没折腾成功，郁闷，悟性高的童鞋可以看下：http://zou.lu/change-hosting-and-cache-gravatar/ 后来又找到了荒野无灯的方法，这家伙和Willin大师一样，超D调的，现在我明白了，真正的牛人都是不坑声的，崇拜一下。传送门：http://www.hacklog.cn/wordpress/wpskills/cache-gravatar-and-speed-up-your-blog.html 其实 Gravatar 头像缓存的前五步和《缓存 Gravatar 头像至本地服务器》中提到的方法是一样的，我重新整理了一下，comments.php 里用 wp_list_comments 函数的同学缓存头像方法如下： 1、去作者主页下载该组件，解包，上传。路径随意，我放在 /gravatar 目录下。 2、gravatar 目录内应该有两个文件夹: cache 和 profile；三个文件: index.php, .htaccess, mysql.sql 3、赋予 cache 文件夹 755 权限: chmod a+w 。 4、本地新建一个 php 文件，写入以下内容，文件名 avatar.php，上传至 profile [...]]]></description>
			<content:encoded><![CDATA[<p>之前就给用 WordPress 的朋友介绍过<a title="缓存 Gravatar 头像至本地服务器" href="http://wange.im/cache-gravatar.html">缓存 Gravatar 头像至本地服务器</a>的方法，但是我当时介绍的方法仅适用于 WordPress 2.7 之前的主题，不过貌似 WordPress 2.7+ 以后，被引进了 wp_list_comments 这一函数（具体啥时候被 WordPress 小组引进的我没有仔细研究过～），以前的头像缓存到本地的方法就不再适用了。我也一直没有注意这个问题，直到我自己把林子的 D&amp;Z 主题升级到支持 wp_list_comments 后才发现这个问题，然后就急于寻求新的 Gravatar 头像缓存的方法。</p>
<p>首先找到了兽兽的方法，看是看懂了，不过折腾了半天没折腾成功，郁闷，悟性高的童鞋可以看下：<a title="提速之 Gravatar 头像缓存" rel="external nofollow" href="http://zou.lu/change-hosting-and-cache-gravatar/" target="_blank">http://zou.lu/change-hosting-and-cache-gravatar/</a></p>
<p>后来又找到了荒野无灯的方法，这家伙和Willin大师一样，超D调的，现在我明白了，真正的牛人都是不坑声的，崇拜一下。传送门：<a title="缓存Gravatar 头像，博客再次提速" rel="external nofollow" href="http://www.hacklog.cn/wordpress/wpskills/cache-gravatar-and-speed-up-your-blog.html" target="_blank">http://www.hacklog.cn/wordpress/wpskills/cache-gravatar-and-speed-up-your-blog.html</a></p>
<p>其实 Gravatar 头像缓存的前五步和<a title="缓存 Gravatar 头像至本地服务器" href="http://wange.im/cache-gravatar.html">《缓存 Gravatar 头像至本地服务器》</a>中提到的方法是一样的，我重新整理了一下，comments.php 里用 wp_list_comments 函数的同学缓存头像方法如下：</p>
<p>1、去<a title="Generic Gravatar Cache" rel="external nofollow" href="http://scott.yang.id.au/code/gravatar-cache/" target="_blank">作者主页</a>下载该组件，解包，上传。路径随意，我放在 /gravatar 目录下。</p>
<p>2、gravatar 目录内应该有两个文件夹: cache 和 profile；三个文件: index.php, .htaccess, mysql.sql</p>
<p>3、赋予 cache 文件夹 755 权限: chmod a+w 。</p>
<p>4、本地新建一个 php 文件，写入以下内容，文件名 avatar.php，上传至 profile 文件夹内。请自行更改相应内容符合自己的需求。切记要放置默认头像。</p>
<div class="source">
<div style="FONT-FAMILY: 'Courier New','Lucida Console','monospace'; COLOR: #000000"><span style="COLOR: #008080">&lt;?php</span><br />
<span style="COLOR: #000000">$config</span><span style="COLOR: #000000">[</span><span style="COLOR: #0000ff">'default'</span><span style="COLOR: #000000">]</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">'http://domain.com/default-gravatar.png'</span>;<span style="FONT-STYLE: italic; COLOR: #008800">//无头像时返回的默认头像路径</span><br />
<span style="COLOR: #000000">$config</span><span style="COLOR: #000000">[</span><span style="COLOR: #0000ff">'rating'</span><span style="COLOR: #000000">]</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">'PG'</span>;<span style="FONT-STYLE: italic; COLOR: #008800">//gravatar的内容级别</span><br />
<span style="COLOR: #000000">$config</span><span style="COLOR: #000000">[</span><span style="COLOR: #0000ff">'size'</span><span style="COLOR: #000000">]</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">64</span>;<span style="FONT-STYLE: italic; COLOR: #008800">//头像尺寸</span><br />
<span style="COLOR: #008080">?&gt;</span></div>
</div>
<p>5、编辑 .htaccess 文件，默认 RewriteRule . index.php [L] ，请依照你的实际放置目录修改，比如我的是 RewriteRule . /gravatar/index.php [L]</p>
<p>6、修改 wp-includes/pluggable.php：</p>
<p>大概在1523行处有一个</p>
<div class="source">
<div style="FONT-FAMILY: 'Courier New','Lucida Console','monospace'; COLOR: #000000"><span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000000">!</span><span style="COLOR: #000000">function_exists</span>( <span style="COLOR: #0000ff">'get_avatar'</span> ) ) <span style="COLOR: #000000">:</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">/**</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">* Retrieve the avatar for a user who provided a user ID or email address.</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">*</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">* @since 2.5</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">* @param int|string|object $id_or_email A user ID,  email address, or comment object</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">* @param int $size Size of the avatar image</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">* @param string $default URL to a default image to use if no avatar is available</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">* @param string $alt Alternate text to use in image tag. Defaults to blank</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">* @return string &lt;img&gt; tag for the user's avatar</span><br />
<span style="FONT-STYLE: italic; COLOR: #008800">*/</span><br />
<span style="COLOR: #000080; FONT-WEIGHT: bold">function</span> <span style="COLOR: #000000">get_avatar</span>( <span style="COLOR: #000000">$id_or_email</span><span style="COLOR: #000000">,</span> <span style="COLOR: #000000">$size</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">'96'</span><span style="COLOR: #000000">,</span> <span style="COLOR: #000000">$default</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">''</span><span style="COLOR: #000000">,</span> <span style="COLOR: #000000">$alt</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000080; FONT-WEIGHT: bold">false</span> ) <span style="COLOR: #000000">{</span><br />
    <span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000000">!</span> <span style="COLOR: #000000">get_option</span>(<span style="COLOR: #0000ff">'show_avatars'</span>) )<br />
        <span style="COLOR: #000080; FONT-WEIGHT: bold">return</span> <span style="COLOR: #000080; FONT-WEIGHT: bold">false</span>;</p>
<p>    <span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000080; FONT-WEIGHT: bold">false</span> <span style="COLOR: #000000">===</span> <span style="COLOR: #000000">$alt</span>)<br />
        <span style="COLOR: #000000">$safe_alt</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">''</span>;<br />
    <span style="COLOR: #000080; FONT-WEIGHT: bold">else</span><br />
        <span style="COLOR: #000000">$safe_alt</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">esc_attr</span>( <span style="COLOR: #000000">$alt</span> );</p>
<p>    <span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000000">!</span><span style="COLOR: #000000">is_numeric</span>(<span style="COLOR: #000000">$size</span>) )<br />
        <span style="COLOR: #000000">$size</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">'96'</span>;</p>
<p>    <span style="COLOR: #000000">$email</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">''</span>;<br />
    <span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000000">is_numeric</span>(<span style="COLOR: #000000">$id_or_email</span>) ) <span style="COLOR: #000000">{</span><br />
        <span style="COLOR: #000000">$id</span> <span style="COLOR: #000000">=</span> (<span style="COLOR: #000000">int</span>) <span style="COLOR: #000000">$id_or_email</span>;<br />
        <span style="COLOR: #000000">$user</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">get_userdata</span>(<span style="COLOR: #000000">$id</span>);<br />
        <span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000000">$user</span> )<br />
            <span style="COLOR: #000000">$email</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">$user</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">user_email</span>;<br />
    <span style="COLOR: #000000">}</span> <span style="COLOR: #000000">elseif</span> ( <span style="COLOR: #000000">is_object</span>(<span style="COLOR: #000000">$id_or_email</span>) ) <span style="COLOR: #000000">{</span><br />
        <span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000000">isset</span>(<span style="COLOR: #000000">$id_or_email</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">comment_type</span>) <span style="COLOR: #000000">&amp;&amp;</span> <span style="COLOR: #0000ff">''</span> <span style="COLOR: #000000">!=</span> <span style="COLOR: #000000">$id_or_email</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">comment_type</span> <span style="COLOR: #000000">&amp;&amp;</span> <span style="COLOR: #0000ff">'comment'</span> <span style="COLOR: #000000">!=</span> <span style="COLOR: #000000">$id_or_email</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">comment_type</span> )<br />
            <span style="COLOR: #000080; FONT-WEIGHT: bold">return</span> <span style="COLOR: #000080; FONT-WEIGHT: bold">false</span>; <span style="FONT-STYLE: italic; COLOR: #008800">// No avatar for pingbacks or trackbacks</span></p>
<p>        <span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000000">!</span><span style="COLOR: #000000">empty</span>(<span style="COLOR: #000000">$id_or_email</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">user_id</span>) ) <span style="COLOR: #000000">{</span><br />
            <span style="COLOR: #000000">$id</span> <span style="COLOR: #000000">=</span> (<span style="COLOR: #000000">int</span>) <span style="COLOR: #000000">$id_or_email</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">user_id</span>;<br />
            <span style="COLOR: #000000">$user</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">get_userdata</span>(<span style="COLOR: #000000">$id</span>);<br />
            <span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000000">$user</span>)<br />
                <span style="COLOR: #000000">$email</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">$user</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">user_email</span>;<br />
        <span style="COLOR: #000000">}</span> <span style="COLOR: #000000">elseif</span> ( <span style="COLOR: #000000">!</span><span style="COLOR: #000000">empty</span>(<span style="COLOR: #000000">$id_or_email</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">comment_author_email</span>) ) <span style="COLOR: #000000">{</span><br />
            <span style="COLOR: #000000">$email</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">$id_or_email</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">comment_author_email</span>;<br />
        <span style="COLOR: #000000">}</span><br />
    <span style="COLOR: #000000">}</span> <span style="COLOR: #000080; FONT-WEIGHT: bold">else</span> <span style="COLOR: #000000">{</span><br />
        <span style="COLOR: #000000">$email</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">$id_or_email</span>;<br />
    <span style="COLOR: #000000">}</span></p>
<p>  <br />
        <span style="COLOR: #000000">$host</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">'http://www.yourdomain.cn'</span>;  <span style="FONT-STYLE: italic; COLOR: #008800">//注意这里要修改为你的博客的地址</span></p>
<p>    <span style="COLOR: #000080; FONT-WEIGHT: bold">if</span> ( <span style="COLOR: #000000">!</span><span style="COLOR: #000000">empty</span>(<span style="COLOR: #000000">$email</span>) ) <span style="COLOR: #000000">{</span><br />
        <span style="COLOR: #000000">$out</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">"$host/gravatar/cache/avatar/"</span>;<br />
        <span style="COLOR: #000000">$out</span> <span style="COLOR: #000000">.</span><span style="COLOR: #000000">=</span> <span style="COLOR: #000000">md5</span>( <span style="COLOR: #000000">strtolower</span>( <span style="COLOR: #000000">$email</span> ) );<br />
      <br />
        <span style="COLOR: #000000">$avatar</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">"&lt;img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' /&gt;"</span>;<br />
    <span style="COLOR: #000000">}</span> <span style="COLOR: #000080; FONT-WEIGHT: bold">else</span> <span style="COLOR: #000000">{</span><br />
        <span style="COLOR: #000000">$avatar</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #0000ff">"&lt;img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' /&gt;"</span>;<br />
    <span style="COLOR: #000000">}</span></p>
<p>    <span style="COLOR: #000080; FONT-WEIGHT: bold">return</span> <span style="COLOR: #000000">apply_filters</span>(<span style="COLOR: #0000ff">'get_avatar'</span><span style="COLOR: #000000">,</span> <span style="COLOR: #000000">$avatar</span><span style="COLOR: #000000">,</span> <span style="COLOR: #000000">$id_or_email</span><span style="COLOR: #000000">,</span> <span style="COLOR: #000000">$size</span><span style="COLOR: #000000">,</span> <span style="COLOR: #000000">$default</span><span style="COLOR: #000000">,</span> <span style="COLOR: #000000">$alt</span>);<br />
<span style="COLOR: #000000">}</span><br />
<span style="COLOR: #000000">endif</span>;</div>
</div>
<p>OK，搞定，这篇文章已经被拉得老长了，不再啰索，收声～</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/gravatar/" title="gravatar" rel="tag">gravatar</a>,<a href="http://wange.im/tag/wordpress/" title="WordPress" rel="tag">WordPress</a>,<a href="http://wange.im/tag/localhost/" title="本地" rel="tag">本地</a>,<a href="http://wange.im/tag/cache/" title="缓存" rel="tag">缓存</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/cache-gravatar.html" rel="bookmark" title="缓存 Gravatar 头像至本地服务器">缓存 Gravatar 头像至本地服务器</a>        <div class="rl_date">2009年09月2日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/qq-gravatar-cache.html" rel="bookmark" title="QQ 自定义头像+Gravatar 头像缓存">QQ 自定义头像+Gravatar 头像缓存</a>        <div class="rl_date">2010年04月6日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/gravatar-buffer-supplement-in-wordpress.html" rel="bookmark" title="Wordpress gravatar 头像缓存补充说明">Wordpress gravatar 头像缓存补充说明</a>        <div class="rl_date">2010年01月19日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/recent-comment-with-avatar-in-wordpress.html" rel="bookmark" title="Wordpress 侧边栏带头像的最新评论">Wordpress 侧边栏带头像的最新评论</a>        <div class="rl_date">2009年12月26日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/cache-gravatar-for-wordpress-2-7.html/feed</wfw:commentRss>
		<slash:comments>92</slash:comments>
		</item>
		<item>
		<title>缓存 Gravatar 头像至本地服务器</title>
		<link>http://wange.im/cache-gravatar.html</link>
		<comments>http://wange.im/cache-gravatar.html#comments</comments>
		<pubDate>Wed, 02 Sep 2009 08:24:09 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[精品推荐]]></category>
		<category><![CDATA[转来载去]]></category>
		<category><![CDATA[gravatar]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[本地]]></category>
		<category><![CDATA[缓存]]></category>
		<category><![CDATA[静态化]]></category>

		<guid isPermaLink="false">http://wange.im/?p=1588</guid>
		<description><![CDATA[关于缓存 Gravatar 头像的方法我早就想拿出来说一说了，该方法来自 iShawn的博客。但是用了这个方法之后，我只能缓存一半的 Gravatar 头像，所有回复的评论者的头像都没有被缓存。这个问题一直困扰着我，让我抓狂了一个多月，终有一天，showfom 小盆友一语道破了天机，让我终于完整地实现了的 Gravatar 头像缓存，深表谢意。 Gravatar 头像缓存的好处我就不多说了，直接切入正题，缓存 Gravatar 头像至本地服务器。 1、去作者主页下载该组件，解包，上传。路径随意，我放在 /gravatar 目录下。 2、gravatar 目录内应该有两个文件夹: cache 和 profile；三个文件: index.php, .htaccess, mysql.sql 3、赋予 cache 文件夹 755 权限: chmod a+w 。 4、本地新建一个 php 文件，写入以下内容，文件名 avatar.php，上传至 profile 文件夹内。请自行更改相应内容符合自己的需求。切记要放置默认头像。 &#60;?php $config['default'] = 'http://domain.com/default-gravatar.png';//无头像时返回的默认头像路径 $config['rating'] = 'PG';//gravatar的内容级别 $config['size'] = 64;//头像尺寸 ?&#62; 5、编辑 .htaccess 文件，默认 RewriteRule . index.php [...]]]></description>
			<content:encoded><![CDATA[<p>关于缓存 Gravatar 头像的方法我早就想拿出来说一说了，该方法来自 iShawn的博客。但是用了这个方法之后，我只能缓存一半的 Gravatar 头像，所有回复的评论者的头像都没有被缓存。这个问题一直困扰着我，让我抓狂了一个多月，终有一天，<a title="Showfom's Blog" rel="external nofollow" href="http://showfom.com" target="_blank">showfom</a> 小盆友一语道破了天机，让我终于完整地实现了的 Gravatar 头像缓存，深表谢意。</p>
<p>Gravatar 头像缓存的好处我就不多说了，直接切入正题，缓存 Gravatar 头像至本地服务器。</p>
<p>1、去<a title="Generic Gravatar Cache" rel="external nofollow" href="http://scott.yang.id.au/code/gravatar-cache/" target="_blank">作者主页</a>下载该组件，解包，上传。路径随意，我放在 /gravatar 目录下。</p>
<p>2、gravatar 目录内应该有两个文件夹: cache 和 profile；三个文件: index.php, .htaccess, mysql.sql</p>
<p>3、赋予 cache 文件夹 755 权限: chmod a+w 。</p>
<p>4、本地新建一个 php 文件，写入以下内容，文件名 avatar.php，上传至 profile 文件夹内。请自行更改相应内容符合自己的需求。切记要放置默认头像。</p>
<p style="background-color: #404040; text-indent: 0pt; width: 500px; font-family: 'Lucida Console','Consolas','Courier New'; margin-left: 20px; font-size: 12px; padding: 10px;"><span style="COLOR: #e5786d">&lt;?php</span><br />
<span style="COLOR: #cae682">$config</span><span style="COLOR: #f6f3e8">[</span><span style="FONT-STYLE: italic; COLOR: #95e454">'default'</span><span style="COLOR: #f6f3e8">]</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #f6f3e8">=</span><span style="COLOR: #f6f3e8"> </span><span style="FONT-STYLE: italic; COLOR: #95e454">'http://domain.com/default-gravatar.png'</span><span style="COLOR: #f6f3e8">;</span><span style="FONT-STYLE: italic; COLOR: #99968b">//无头像时返回的默认头像路径</span><br />
<span style="COLOR: #cae682">$config</span><span style="COLOR: #f6f3e8">[</span><span style="FONT-STYLE: italic; COLOR: #95e454">'rating'</span><span style="COLOR: #f6f3e8">]</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #f6f3e8">=</span><span style="COLOR: #f6f3e8"> </span><span style="FONT-STYLE: italic; COLOR: #95e454">'PG'</span><span style="COLOR: #f6f3e8">;</span><span style="FONT-STYLE: italic; COLOR: #99968b">//gravatar的内容级别</span><br />
<span style="COLOR: #cae682">$config</span><span style="COLOR: #f6f3e8">[</span><span style="FONT-STYLE: italic; COLOR: #95e454">'size'</span><span style="COLOR: #f6f3e8">]</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #f6f3e8">=</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #e5786d">64</span><span style="COLOR: #f6f3e8">;</span><span style="FONT-STYLE: italic; COLOR: #99968b">//头像尺寸</span><br />
<span style="COLOR: #e5786d">?&gt;</span></p>
<p>5、编辑 .htaccess 文件，默认 RewriteRule . index.php [L] ，请依照你的实际放置目录修改，比如我的是 RewriteRule . /gravatar/index.php [L]</p>
<p>6、打开 WordPress 模板的 comments.php 文件，查找
</p>
<p style="background-color: #404040; text-indent: 0pt; width: 300px; font-family: 'Lucida Console','Consolas','Courier New'; margin-left: 20px; font-size: 12px; padding: 5px;"><span style="COLOR: #e5786d">&lt;?php</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #8ac6f2">echo</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #f6f3e8">get_avatar</span><span style="COLOR: #f6f3e8">(</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #cae682">$comment</span><span style="COLOR: #f6f3e8">,</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #e5786d">32</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #f6f3e8">);</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #e5786d">?&gt;</span></p>
<p>替换为</p>
<p style="background-color: #404040; text-indent: 0pt; width: 500px; font-family: 'Lucida Console','Consolas','Courier New'; margin-left: 20px; font-size: 12px; padding: 5px;"><span style="COLOR: #f6f3e8">&lt;img src="http://yourdomain/gravatar/cache/avatar/</span><span style="COLOR: #e5786d">&lt;?php</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #8ac6f2">echo</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #f6f3e8">md5</span><span style="COLOR: #f6f3e8">(</span><span style="COLOR: #f6f3e8">strtolower</span><span style="COLOR: #f6f3e8">(</span><span style="COLOR: #cae682">$comment</span><span style="COLOR: #f6f3e8">-&gt;</span><span style="COLOR: #cae682">comment_author_email</span><span style="COLOR: #f6f3e8">));</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #e5786d">?&gt;</span><span style="COLOR: #f6f3e8">" alt="" /&gt;</span></p>
<p>细心的同学应该会发现，路径中的 avatar 其实就是第四步创建的那个 php 文件的名字。你还可以创建不同的 Profile 应用在各个地方。</p>
<p>到此，Wordpress 缓存 Gravatar 至本地的操作便完成了，首次缓存的头像日后会被直接调用而无需再跑到 gravatar 查询。快就快在这里，省略查询的时间，静态化 Gravatar。</p>
<p>以上方法来自作者的原文：<a rel="external nofollow" href="http://ishawn.net/my-blog-related/cache-gravatar-into-local-server.html" target="_blank">《如何缓存 Gravatar 至本地服务器》</a>，不过很可惜，链接已经失效。不过没关系，如果觉得这还看不懂的话，showfom 小盆友写了篇更具体的：<a title="更换空间 + 再次提速之 Gravatar 头像缓存" rel="external nofollow" href="http://showfom.com/change-hosting-and-cache-gravatar/" target="_blank">http://showfom.com/change-hosting-and-cache-gravatar/</a>，很有参考价值。</p>
<p>如果做完以上步骤后发现 Gravatar 只缓存了一部分，那就有必要继续往下看了，因为你犯了一个和我一样的错误，也不能说错误，只能说疏忽。还要感谢 showfom 的提点，否则我要一直为这另一半的 Gravatar 缓存抓狂下去了。究其原因，是因为我没有用 WordPress 原生的嵌套评论，而是用 WordPress thread comment 插件代替的，问题就出在这个插件上，另一部分的头像输出是 WordPress thread comment 插件完成的，所以要解决这个问题就要进入 WordPress thread comment 插件的后台设置，找到“编辑评论的HTML”选项，将其中调用头像部分的代码也替换成：</p>
<p style="background-color: #404040; text-indent: 0pt; width: 500px; font-family: 'Lucida Console','Consolas','Courier New'; margin-left: 20px; font-size: 12px; padding: 5px;"><span style="COLOR: #f6f3e8">&lt;img src="http://yourdomain/gravatar/cache/avatar/</span><span style="COLOR: #e5786d">&lt;?php</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #8ac6f2">echo</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #f6f3e8">md5</span><span style="COLOR: #f6f3e8">(</span><span style="COLOR: #f6f3e8">strtolower</span><span style="COLOR: #f6f3e8">(</span><span style="COLOR: #cae682">$comment</span><span style="COLOR: #f6f3e8">-&gt;</span><span style="COLOR: #cae682">comment_author_email</span><span style="COLOR: #f6f3e8">));</span><span style="COLOR: #f6f3e8"> </span><span style="COLOR: #e5786d">?&gt;</span><span style="COLOR: #f6f3e8">" alt="" /&gt;</span></p>
<p>这样一来，就完美地实现了缓存 Gravatar 头像至本地服务器这一功能。</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/gravatar/" title="gravatar" rel="tag">gravatar</a>,<a href="http://wange.im/tag/wordpress/" title="WordPress" rel="tag">WordPress</a>,<a href="http://wange.im/tag/localhost/" title="本地" rel="tag">本地</a>,<a href="http://wange.im/tag/cache/" title="缓存" rel="tag">缓存</a>,<a href="http://wange.im/tag/static/" title="静态化" rel="tag">静态化</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/cache-gravatar-for-wordpress-2-7.html" rel="bookmark" title="Wordpress 2.7+主题 gravatar 头像缓存">Wordpress 2.7+主题 gravatar 头像缓存</a>        <div class="rl_date">2009年11月13日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/qq-gravatar-cache.html" rel="bookmark" title="QQ 自定义头像+Gravatar 头像缓存">QQ 自定义头像+Gravatar 头像缓存</a>        <div class="rl_date">2010年04月6日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/gravatar-buffer-supplement-in-wordpress.html" rel="bookmark" title="Wordpress gravatar 头像缓存补充说明">Wordpress gravatar 头像缓存补充说明</a>        <div class="rl_date">2010年01月19日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/recent-comment-with-avatar-in-wordpress.html" rel="bookmark" title="Wordpress 侧边栏带头像的最新评论">Wordpress 侧边栏带头像的最新评论</a>        <div class="rl_date">2009年12月26日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/cache-gravatar.html/feed</wfw:commentRss>
		<slash:comments>90</slash:comments>
		</item>
		<item>
		<title>轻松10步本地安装WordPress（图）</title>
		<link>http://wange.im/setup-wordpress-on-localhost.html</link>
		<comments>http://wange.im/setup-wordpress-on-localhost.html#comments</comments>
		<pubDate>Fri, 24 Apr 2009 05:47:23 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[精品推荐]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Xampplite]]></category>
		<category><![CDATA[图文]]></category>
		<category><![CDATA[在线]]></category>
		<category><![CDATA[教程]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[本地]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://wange.im/?p=452</guid>
		<description><![CDATA[无论是老鸟菜鸟、大虾小虾，凡是在Wordpress有一片小天地的，我认为都有必要在本地给自己的Wordpress安个家，这里我说的不是简单地给Wordpress备份，而是在本地架设Wordpress。 一直以来我都想在本地安装Wordpress，但是苦于没有找到合适的方法和软件，屡屡失败。今天终于修得正果，所以就分享下我在本地安装Wordpress的方法、过程以及经验。这篇文章不只是写给还未在本地架设Wordpress的朋友看的，最重要是写给自己看的，以后若是忘记了还可以翻出来回顾一下。 为什么要在本地安装Wordpress呢？我总结了一个，主要原因有三：1.方便对主题和插件的调试。在本地修改满意之后再上传，这不是一劳永逸嘛。有些朋友和我一样安装了Wp Super Cashe插件，如果每次在线上调试，那上传之后还要先清除缓存才能看到修改后的效果，挺累人的。2.节约流量。或许你觉得才几百K的文件占用不了多少流量，但是聚少成多，经常上上下下传载文件，浪费时间的同时也无谓地浪费了宝贵的流量。3.减轻数据库负担。在线编辑不可避免地会在数据库中留下一些痕迹，久而久之也就加重了数据库的负担，更何况吹牛还得打打草稿不是嘛。 下面切入正题，哪怕你是和我一样菜的菜鸟，只要按部就班，相信你也能做的到。 一.配置本地服务器 1.下载Xampplite。下载后解压到某一个硬盘上即可，免安装。 2.双击打开setup_xampp.bat，稍等片刻，会出现“请按任意键继续……”的字样，照做。 3.接着再双击打开xampp_control.exe，分别点击Apache和Mysql后面的“运行”(Start)。 4.在浏览器地址栏上输入localhost，并按回车键，选择语言，然后进入数据库的安装界面。 二.安装数据库 5.点击左侧栏中的phpMyAdmin，在“创建一个新的数据库”下输入数据库名称，例如life-studio，点击“创建”按钮。 6.在新页面中找到“权限”，并点击进入。单击“操作”下的“编辑权限”按钮。 7.在“更改登录信息/复制用户”模块中创建新的用户信息。按“执行”按钮确认。 三.安装Wordpress 8.将解压后的Wordpress安装程序复制到/xampplite/htdocs文件夹下。 9.修改wp-config-sample.php中的数据库名称、数据库用户名及密码，另存为wp-config.php。 10.在浏览器地址栏中访回http://localhost/wp-admin/install.php 大功告成，接下来就和在线安装的Wordpress的过程一样了，然后你就可以尽情地无所顾及地在你本地Wordpress上折腾了。为了尽可能写得详细，此教程有些啰索，各位多多包涵，如果有写错或不恰当之处，还望指出。 与 WordPress,Xampplite,图文,在线,教程,数据库,本地,软件 相关的文章 phpZip 服务器在线解压程序 2009年06月30日 启用 Wordpress object-cache 缓存 2009年06月12日 为数据库减负，让WP提速 2009年05月5日 Readers Post 插件是数据库杀手 2010年12月24日]]></description>
			<content:encoded><![CDATA[<p>无论是老鸟菜鸟、大虾小虾，凡是在Wordpress有一片小天地的，我认为都有必要在本地给自己的Wordpress安个家，这里我说的不是简单地给Wordpress备份，而是在本地架设Wordpress。</p>
<p>一直以来我都想在本地安装Wordpress，但是苦于没有找到合适的方法和软件，屡屡失败。今天终于修得正果，所以就分享下我在本地安装Wordpress的方法、过程以及经验。这篇文章不只是写给还未在本地架设Wordpress的朋友看的，最重要是写给自己看的，以后若是忘记了还可以翻出来回顾一下。</p>
<p>为什么要在本地安装Wordpress呢？我总结了一个，主要原因有三：1.方便对主题和插件的调试。在本地修改满意之后再上传，这不是一劳永逸嘛。有些朋友和我一样安装了Wp Super Cashe插件，如果每次在线上调试，那上传之后还要先清除缓存才能看到修改后的效果，挺累人的。2.节约流量。或许你觉得才几百K的文件占用不了多少流量，但是聚少成多，经常上上下下传载文件，浪费时间的同时也无谓地浪费了宝贵的流量。3.减轻数据库负担。在线编辑不可避免地会在数据库中留下一些痕迹，久而久之也就加重了数据库的负担，更何况吹牛还得打打草稿不是嘛。</p>
<p>下面切入正题，哪怕你是和我一样菜的菜鸟，只要按部就班，相信你也能做的到。</p>
<p><strong>一.配置本地服务器</strong></p>
<p>1.下载<a rel="external nofollow" href="http://www.apachefriends.org/download.php?xampplite-win32-1.6.8.zip" target="_blank">Xampplite</a>。下载后解压到某一个硬盘上即可，免安装。</p>
<p>2.双击打开setup_xampp.bat，稍等片刻，会出现“请按任意键继续……”的字样，照做。</p>
<p style="text-align: center;"><img class="aligncenter" src="http://s3cixg.bay.livefilestore.com/y1pK8wZkZBz57R9XWrhG7aSuGQONj245EhBw_3tNWfEajU1eNpKtCGzbPC6hoR5q3l-rHhA9pcojCrR-StVEiEj319l-BkMBcVi/xampplite-1.jpg" alt="wange.im" /></p>
<p>3.接着再双击打开xampp_control.exe，分别点击Apache和Mysql后面的“运行”(Start)。</p>
<p style="text-align: center;"><img class="aligncenter" src="http://s3cixg.bay.livefilestore.com/y1p6RJ5mP5MUaDIe9j9CzuqNKqRsVZUxoy6nxpeitDflR9JF2hTutS0lZQ0Kzwuss4J4UAT_3GqWmNDFZVWoOrbgNPiwZxTclbn/xampplite-2.jpg" alt="wange.im" /></p>
<p>4.在浏览器地址栏上输入localhost，并按回车键，选择语言，然后进入数据库的安装界面。</p>
<p style="text-align: center;"><img class="aligncenter" src="http://s3cixg.bay.livefilestore.com/y1px_UGWwtKFYNVloT2yRCrUTe3fOtzJsx_DJfPO4tr_4LqAB1azO8p6DuCT3CLrPxUHr8amGV_KDjRr9DCqCKatD_t1QaT5dO0/xampplite-3.jpg" alt="wange.im" /></p>
<p><strong>二.安装数据库</strong></p>
<p>5.点击左侧栏中的phpMyAdmin，在“创建一个新的数据库”下输入数据库名称，例如life-studio，点击“创建”按钮。</p>
<p style="text-align: center;"><img class="aligncenter" src="http://s3cixg.bay.livefilestore.com/y1pn8zWkEaA9CPUWTWZ4UQ528GELExn_QcZUM9gdrPizIHL37ffm8UjGV4N5gUXeLLAgROVbGS0rqiQhs-E6vhnuCGdv6pZENn8/xampplite-4.jpg" alt="wange.im" /></p>
<p style="text-align: center;"><img class="aligncenter" src="http://s3cixg.bay.livefilestore.com/y1ptZ71Uy4Wo1z03ScZsH8bid2fRMyd2PzNY-WsoWUqqwp93l_Sec6PoPH85J4_78KsSca4dlwWAF7D19Rntb1YNoDh42uriSNR/xampplite-5.jpg" alt="wange.im" /></p>
<p>6.在新页面中找到“权限”，并点击进入。单击“操作”下的“编辑权限”按钮。</p>
<p style="text-align: center;"><img class="aligncenter" src="http://s3cixg.bay.livefilestore.com/y1pStnQUenPu7du9ODOVqa7TLY1wPDG-mHATv1tmtAVSfBcLWDDmC9bEmU2Q-TStQ_CcnwJgekajhWEF0DtE2QRu1_2zAZUim9K/xampplite-6.jpg" alt="wange.im" /></p>
<p>7.在“更改登录信息/复制用户”模块中创建新的用户信息。按“执行”按钮确认。</p>
<p style="text-align: center;"><img class="aligncenter" src="http://s3cixg.bay.livefilestore.com/y1pvLTn7ZyT1pDi6Jon0vs23AHqzUFMdsIzDN1GOF86lsW-u9GZtzpoXh2dm9HYk44MiK4YXzhJiXzLu7DD5TfJe1-Op2Sof1ts/xampplite-7.jpg" alt="wange.im" /></p>
<p><strong>三.安装Wordpress</strong></p>
<p>8.将解压后的Wordpress安装程序复制到/xampplite/htdocs文件夹下。</p>
<p>9.修改wp-config-sample.php中的数据库名称、数据库用户名及密码，另存为wp-config.php。</p>
<p>10.在浏览器地址栏中访回<a rel="external nofollow" href="http://localhost/wp-admin/install.php">http://localhost/wp-admin/install.php</a></p>
<p>大功告成，接下来就和在线安装的Wordpress的过程一样了，然后你就可以尽情地无所顾及地在你本地Wordpress上折腾了。为了尽可能写得详细，此教程有些啰索，各位多多包涵，如果有写错或不恰当之处，还望指出。</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/wordpress/" title="WordPress" rel="tag">WordPress</a>,<a href="http://wange.im/tag/xampplite/" title="Xampplite" rel="tag">Xampplite</a>,<a href="http://wange.im/tag/pic-word/" title="图文" rel="tag">图文</a>,<a href="http://wange.im/tag/online/" title="在线" rel="tag">在线</a>,<a href="http://wange.im/tag/tutorial/" title="教程" rel="tag">教程</a>,<a href="http://wange.im/tag/database/" title="数据库" rel="tag">数据库</a>,<a href="http://wange.im/tag/localhost/" title="本地" rel="tag">本地</a>,<a href="http://wange.im/tag/software/" title="软件" rel="tag">软件</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/phpzip-server-online-unzip.html" rel="bookmark" title="phpZip 服务器在线解压程序">phpZip 服务器在线解压程序</a>        <div class="rl_date">2009年06月30日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/wordpress-object-cache.html" rel="bookmark" title="启用 Wordpress object-cache 缓存">启用 Wordpress object-cache 缓存</a>        <div class="rl_date">2009年06月12日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/phpmyadmin.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="为数据库减负，让WP提速" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/speed-up-wordpress.html" rel="bookmark" title="为数据库减负，让WP提速">为数据库减负，让WP提速</a>        <div class="rl_date">2009年05月5日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/reader-post.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="Readers Post 插件是数据库杀手" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/readers-post-is-database-killer.html" rel="bookmark" title="Readers Post 插件是数据库杀手">Readers Post 插件是数据库杀手</a>        <div class="rl_date">2010年12月24日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/setup-wordpress-on-localhost.html/feed</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
	</channel>
</rss>

