<?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>PHP Stone &#187; WordPress</title>
	<atom:link href="http://phpstone.com/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpstone.com</link>
	<description>——从石头向宝石进化</description>
	<lastBuildDate>Thu, 05 Aug 2010 14:04:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>在 WordPress 3.0 中使用菜单</title>
		<link>http://phpstone.com/using-menus-in-wordpress-3-0/</link>
		<comments>http://phpstone.com/using-menus-in-wordpress-3-0/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 13:57:59 +0000</pubDate>
		<dc:creator>frePerl</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://phpstone.com/?p=495</guid>
		<description><![CDATA[新发布的 WordPress 3.0 中新增了一个实用的功能，将外观层所表现的边栏（sidebar）和页脚（footer）等通过内置函数实现，删减模块不需要再改动代码，可直接在控制板直观自由地添加和改动。
值得注意的是，3.0 版本的 WordPress 在发表此文章时还没有中文版本，我使用英文版升级后改动的部分没有翻译。

在 functions.php 文件中注册 menus


if ( function_exists(&#039;register_nav_menus&#039;) ) {
register_nav_menus(
array(
&#039;footer_menu&#039; =&#62; &#039;My Custom Footer Menu&#039;,
&#039;sidebar_menu&#039; =&#62; &#039;Super Sidebar Menu&#039;
)
);
}

用管理帐号创建 menu
进入 外观-&#62;Menus 进行创建，例如创建页脚菜单 Footer Menu：

创建好后保存你想要生效的 menu，然后将想要展示的模块“添加到 Menu”并保存。
在模板中插入 menu
例如刚才的 Footer Menu，可以插入到 footer.php 你想要显示的位置，代码如下


&#60;?php wp_nav_menu( array(&#039;menu&#039; =&#62; &#039;Footer Menu&#039;)); ?&#62;

根据自己定义的 menu 名称更改以上代码，即可实现相应的 menu 功能。此 Footer Menu 的相应HTML 输出像如下代码


&#60;div class=&#34;menu-footer-menu-container&#34;&#62;&#60;ul id=&#34;menu-footer-menu&#34; class=&#34;menu&#34;&#62;
&#60;li id=&#34;menu-item-423&#34; class=&#34;menu-item menu-item-type-custom [...]]]></description>
			<content:encoded><![CDATA[<p>新发布的 WordPress 3.0 中新增了一个实用的功能，将外观层所表现的边栏（sidebar）和页脚（footer）等通过内置函数实现，删减模块不需要再改动代码，可直接在控制板直观自由地添加和改动。</p>
<p>值得注意的是，3.0 版本的 WordPress 在发表此文章时还没有中文版本，我使用英文版升级后改动的部分没有翻译。<span id="more-495"></span></p>
<p><a href="http://phpstone.com/wp-content/uploads/2010/08/menus.jpg"><img class="size-full wp-image-496 alignnone" title="menus" src="http://phpstone.com/wp-content/uploads/2010/08/menus.jpg" alt="wordpress menus" width="147" height="121" /></a></p>
<h3>在 functions.php 文件中注册 menus</h3>
<pre class="brush: php; ">

if ( function_exists(&#039;register_nav_menus&#039;) ) {
register_nav_menus(
array(
&#039;footer_menu&#039; =&gt; &#039;My Custom Footer Menu&#039;,
&#039;sidebar_menu&#039; =&gt; &#039;Super Sidebar Menu&#039;
)
);
}
</pre>
<h3>用管理帐号创建 menu</h3>
<p>进入 外观-&gt;Menus 进行创建，例如创建页脚菜单 Footer Menu：</p>
<p><a href="http://phpstone.com/wp-content/uploads/2010/08/create-menus.jpg"><img class="alignnone size-full wp-image-509" title="create menus" src="http://phpstone.com/wp-content/uploads/2010/08/create-menus.jpg" alt="" width="588" height="413" /></a></p>
<p>创建好后保存你想要生效的 menu，然后将想要展示的模块“添加到 Menu”并保存。</p>
<h3>在模板中插入 menu</h3>
<p>例如刚才的 Footer Menu，可以插入到 footer.php 你想要显示的位置，代码如下</p>
<pre class="brush: php; ">

&lt;?php wp_nav_menu( array(&#039;menu&#039; =&gt; &#039;Footer Menu&#039;)); ?&gt;
</pre>
<p>根据自己定义的 menu 名称更改以上代码，即可实现相应的 menu 功能。此 Footer Menu 的相应HTML 输出像如下代码</p>
<pre class="brush: php; ">

&lt;div class=&quot;menu-footer-menu-container&quot;&gt;&lt;ul id=&quot;menu-footer-menu&quot; class=&quot;menu&quot;&gt;
&lt;li id=&quot;menu-item-423&quot; class=&quot;menu-item menu-item-type-custom menu-item-423&quot;&gt;&lt;a href=&quot;http://phpstone.com&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;menu-item-424&quot; class=&quot;menu-item menu-item-type-post_type menu-item-424&quot;&gt;&lt;a href=&quot;http://phpstone.com/archives/&quot;&gt;Archives&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;menu-item-425&quot; class=&quot;menu-item menu-item-type-post_type menu-item-425&quot;&gt;&lt;a href=&quot;http://phpstone.com/about/&quot;&gt;关于&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
</pre>
<p>根据这些 div 标记用 css 重新定义外观，即可得到想要的效果。</p>
]]></content:encoded>
			<wfw:commentRss>http://phpstone.com/using-menus-in-wordpress-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Template &#8211; Title 优化</title>
		<link>http://phpstone.com/wordpress-template-title-optimization/</link>
		<comments>http://phpstone.com/wordpress-template-title-optimization/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 09:21:39 +0000</pubDate>
		<dc:creator>frePerl</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://phpstone.com/?p=436</guid>
		<description><![CDATA[WordPess 2.5 以后，wp_title() 函数新增了功能，可以直接将文章标题和分隔符显示在博客名称之前，用法在默认模板的&#60;title&#62;&#60;/title&#62;字段给出了范例：


&#60;title&#62;
&#60;?php wp_title(&#039;&#124;&#039;,true,&#039;right&#039;); ?&#62;
&#60;?php bloginfo(&#039;name&#039;); ?&#62;
&#60;/title&#62;

这段代码能在主页的浏览器标题上只显示博客标题，而文章页面则是“文章标题 &#124; 博客标题”样式
而对于WordPress2.5之前的版本，可以参见wordpress.org
有些朋友喜欢在主页的标题显示描叙性文字，而对于WordPress的模板来说，则是直接将博客副标题应用于&#60;title&#62;，写法大致如下


&#60;title&#62;
&#60;?php { wp_title(&#039;&#124;&#039;, true, &#039;right&#039;); } ?&#62; &#60;?php bloginfo(&#039;name&#039;);  ?&#62;
&#60;?php if ( is_home() ) { ?&#62; &#124; &#60;?php bloginfo(&#039;description&#039;);   } ?&#62;
&#60;/title&#62;

这样的做法对于SEO来讲是不可取的，因为HTML的&#60;title&#62;和博客副标题采用同样的描叙会导致搜索引擎看来重复的描叙，其结果可以用Google 的Webmaster Tools -&#62;Diagnostics-&#62;HTML suggestions检测到。
在我看来，WordPress默认模板采用的方法就很好，对于用户而言，看博客的副标题即可；另外就我而言，并不喜欢在收藏站点时后面大段的描叙性文字，还得自己删除。
如果坚持在&#60;tilte&#62;使用描叙性文字，我目前知道的方法仅是手工写入模板&#60;tilte&#62;字段，且稍微有别于博客副标题。不过这样的做法只适合自己的私用模板，不适用于公用模板的编写。
PS：写文章时文章本身标题的选取也很有讲究，这个话题可参见英语文章：
SEO Tutorial – Title Optimization
]]></description>
			<content:encoded><![CDATA[<p>WordPess 2.5 以后，wp_title() 函数新增了功能，可以直接将文章标题和分隔符显示在博客名称之前，用法在默认模板的&lt;title&gt;&lt;/title&gt;字段给出了范例：</p>
<pre class="brush: php; ">

&lt;title&gt;
&lt;?php wp_title(&#039;|&#039;,true,&#039;right&#039;); ?&gt;
&lt;?php bloginfo(&#039;name&#039;); ?&gt;
&lt;/title&gt;
</pre>
<p>这段代码能在主页的浏览器标题上只显示博客标题，而文章页面则是“文章标题 | 博客标题”样式<span id="more-436"></span></p>
<p>而对于WordPress2.5之前的版本，可以参见<a href="http://codex.wordpress.org/Template_Tags/wp_title" target="_blank">wordpress.org</a></p>
<p>有些朋友喜欢在主页的标题显示描叙性文字，而对于WordPress的模板来说，则是直接将博客副标题应用于&lt;title&gt;，写法大致如下</p>
<pre class="brush: php; ">

&lt;title&gt;
&lt;?php { wp_title(&#039;|&#039;, true, &#039;right&#039;); } ?&gt; &lt;?php bloginfo(&#039;name&#039;);  ?&gt;
&lt;?php if ( is_home() ) { ?&gt; | &lt;?php bloginfo(&#039;description&#039;);   } ?&gt;
&lt;/title&gt;
</pre>
<p>这样的做法对于SEO来讲是不可取的，因为HTML的&lt;title&gt;和博客副标题采用同样的描叙会导致搜索引擎看来重复的描叙，其结果可以用Google 的Webmaster Tools -&gt;Diagnostics-&gt;HTML suggestions检测到。<a href="http://www.google.com/webmasters/tools"></a></p>
<p>在我看来，WordPress默认模板采用的方法就很好，对于用户而言，看博客的副标题即可；另外就我而言，并不喜欢在收藏站点时后面大段的描叙性文字，还得自己删除。</p>
<p>如果坚持在&lt;tilte&gt;使用描叙性文字，我目前知道的方法仅是手工写入模板&lt;tilte&gt;字段，且稍微有别于博客副标题。不过这样的做法只适合自己的私用模板，不适用于公用模板的编写。</p>
<p>PS：写文章时文章本身标题的选取也很有讲究，这个话题可参见英语文章：</p>
<p><a href="http://www.seo-gold.com/seo-tutorial/title-optimization" target="_blank">SEO Tutorial – Title Optimization</a></p>
]]></content:encoded>
			<wfw:commentRss>http://phpstone.com/wordpress-template-title-optimization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO:WordPress中使用永久连结</title>
		<link>http://phpstone.com/using-permalink-in-wordpress/</link>
		<comments>http://phpstone.com/using-permalink-in-wordpress/#comments</comments>
		<pubDate>Sat, 09 May 2009 16:09:24 +0000</pubDate>
		<dc:creator>frePerl</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://blog.phpstone.com/?p=197</guid>
		<description><![CDATA[Permalink是Permanent Link（永久的连接）的缩写，Permalink 指向的均为一个网络日志条目 (Entry) 的独立网页。
WordPress2.7中的设置位置是Settings-&#62;Permalinks。除开默认的“http://phpstone.com/?p=123”设置格式，还有按天数和名称、按月和名称、按数字的设置格式，这些都只要点选并保存就可以了。对于Custom Structure（自定义格式），这里的内容就变得丰富了，可以按照规定的变量自己定义。
%year%
文章发表年份，四位数字，比如2009
%monthnum%
文章发表月份，比如05
%day%
文章发表日期，比如28
%hour%
文章发表小时数，比如15
%minute%
文章发表分钟数，比如43
%second%
文章发表秒数，比如33
%postname%
文章标题，中文标题不推荐使用
%post_id%
文章的id，比如423
%category%
文章的分类
%author%
文章作者
注：这些类型的变量可以在大多数的系统上正常运作，但是某些情况下仍会出现问题。
1.如果用%postname%作为唯一的因素，并且你的样式表或者wp-admin文件夹也有类似的格式的话，重写规则可能使人们无法进入的网页，最好包括一些数字数据（如文章编号或日期）来防止这种情况发生。“/%year%/%monthnum%/%day%/%postname%/”是个不错的开始。
2.如果使用Apache 2之前的版本，%category%无法在一些mod_rewrite的实施中正常工作，如果你使用Apache1.x并且没有处理这些问题的经验，最好不要在permalink结构中使用%category%
3.对于拥有多个目录的文章，只有一个目录能正常显示在permalink中，将会显示编号数字较小的那个目录显示，不过文章本身依旧可以通过所有的目录访问到。
4.如果使用自定义的URI，需要注意的是要保证每个永久连接的异样性，因此在每个虚拟网址结束时使用%post_id%或者%postname%。
多数网站使用的格式为：

/%year%/%monthnum%/%day%/%postname%/

如：
http://www.smashingmagazine.com/
http://www.techcrunch.com/
对于这种文章较多的大型英文网站来说是个不错的选择。	
象我这种比较喜欢走极端的也挺多，只使用文章名：

/%postname%/

如：
http://phpstone.com
http://css-tricks.com/
http://davidwalsh.name/
短链接自然有它的好处，象本站这种发布文章不是很多的站点来说，也是可以采用的，不过对于非英语站点来说，每篇文章的链接都是需要手工编辑的，否则默认显示为本地化语言的链接，而且非英语的WordPress后台编辑界面在添加新文章时，得先保存草稿才会显示Permalink的编辑功能。
&#8230; to be continued
]]></description>
			<content:encoded><![CDATA[<p>Permalink是Permanent Link（永久的连接）的缩写，Permalink 指向的均为一个网络日志条目 (Entry) 的独立网页。</p>
<p>WordPress2.7中的设置位置是Settings-&gt;Permalinks。除开默认的“http://phpstone.com/?p=123”设置格式，还有按天数和名称、按月和名称、按数字的设置格式，这些都只要点选并保存就可以了。对于Custom Structure（自定义格式），这里的内容就变得丰富了，可以按照规定的变量自己定义。<span id="more-197"></span></p>
<blockquote><p>%year%<br />
文章发表年份，四位数字，比如2009<br />
%monthnum%<br />
文章发表月份，比如05<br />
%day%<br />
文章发表日期，比如28<br />
%hour%<br />
文章发表小时数，比如15<br />
%minute%<br />
文章发表分钟数，比如43<br />
%second%<br />
文章发表秒数，比如33<br />
%postname%<br />
文章标题，中文标题不推荐使用<br />
%post_id%<br />
文章的id，比如423<br />
%category%<br />
文章的分类<br />
%author%<br />
文章作者</p></blockquote>
<p>注：这些类型的变量可以在大多数的系统上正常运作，但是某些情况下仍会出现问题。</p>
<p>1.如果用%postname%作为唯一的因素，并且你的样式表或者wp-admin文件夹也有类似的格式的话，重写规则可能使人们无法进入的网页，最好包括一些数字数据（如文章编号或日期）来防止这种情况发生。“/%year%/%monthnum%/%day%/%postname%/”是个不错的开始。</p>
<p>2.如果使用Apache 2之前的版本，%category%无法在一些mod_rewrite的实施中正常工作，如果你使用Apache1.x并且没有处理这些问题的经验，最好不要在permalink结构中使用%category%</p>
<p>3.对于拥有多个目录的文章，只有一个目录能正常显示在permalink中，将会显示编号数字较小的那个目录显示，不过文章本身依旧可以通过所有的目录访问到。</p>
<p>4.如果使用自定义的URI，需要注意的是要保证每个永久连接的异样性，因此在每个虚拟网址结束时使用%post_id%或者%postname%。</p>
<p>多数网站使用的格式为：</p>
<blockquote><p>
/%year%/%monthnum%/%day%/%postname%/
</p></blockquote>
<p>如：<br />
<a href="http://www.smashingmagazine.com/">http://www.smashingmagazine.com/</a><br />
<a href="http://www.techcrunch.com/">http://www.techcrunch.com/</a><br />
对于这种文章较多的大型英文网站来说是个不错的选择。	</p>
<p>象我这种比较喜欢走极端的也挺多，只使用文章名：</p>
<blockquote><p>
/%postname%/
</p></blockquote>
<p>如：<br />
<a href="http://phpstone.com">http://phpstone.com</a><br />
<a href="http://css-tricks.com/">http://css-tricks.com/</a><br />
<a href="http://davidwalsh.name/">http://davidwalsh.name/</a><br />
短链接自然有它的好处，象本站这种发布文章不是很多的站点来说，也是可以采用的，不过对于非英语站点来说，每篇文章的链接都是需要手工编辑的，否则默认显示为本地化语言的链接，而且非英语的WordPress后台编辑界面在添加新文章时，得先保存草稿才会显示Permalink的编辑功能。</p>
<p>&#8230; to be continued</p>
]]></content:encoded>
			<wfw:commentRss>http://phpstone.com/using-permalink-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>更新并使用Firestats1.60</title>
		<link>http://phpstone.com/update-and-use-firestats1-60/</link>
		<comments>http://phpstone.com/update-and-use-firestats1-60/#comments</comments>
		<pubDate>Sat, 09 May 2009 16:04:16 +0000</pubDate>
		<dc:creator>frePerl</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.phpstone.com/?p=194</guid>
		<description><![CDATA[Firestats是一个网站流量统计系统，基于PHP+MySQL。它是一个独立的系统，可以直接安装使用，也可以作为WordPress的一个插件（Plugin）程序来安装。
近期最新的Stable version: 1.6.0-stable
我从旧版本进行升级安装，先禁用Firestats插件，上传安装程序，用新文件覆盖旧文件，然后激活插件时出现错误提示如下：
Error installing FireStats tables: Failed to lock mutex, see This for more information :
Error message: Error locking /home/phpst0/public_html/blog/wp-content/plugins/firestats/php/db-setup.php
Firestats.cc Wiki上已经通告了问题的原因和解决办法：
大致是PHP的旧版本无法实现flock这个PHP函数的功能，因此解决办法是升级服务器的PHP程序版本；对于实在无法升级PHP服务端的情况，也提供了一种并不推荐的解决办法：
将firestats程序根目录下的“sample-conf.php”复制为“conf.php”,并编辑之将下列行的注释去掉：

define(&#039;DISABLE_MUTEX&#039;,true);

处理之后成功启用插件。
接着进入Firefox插件的设置页面进行数据库的更新即可。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://firestats.cc/" target="_blank">Firestats</a>是一个网站流量统计系统，基于PHP+MySQL。它是一个独立的系统，可以直接安装使用，也可以作为WordPress的一个插件（Plugin）程序来安装。</p>
<p>近期最新的Stable version: 1.6.0-stable</p>
<p>我从旧版本进行升级安装，先禁用Firestats插件，上传安装程序，用新文件覆盖旧文件，然后激活插件时出现错误提示如下：<span id="more-194"></span></p>
<blockquote><p>Error installing FireStats tables: Failed to lock mutex, see This for more information :<br />
Error message: Error locking /home/phpst0/public_html/blog/wp-content/plugins/firestats/php/db-setup.php</p></blockquote>
<p><a href="http://firestats.cc/wiki/Mutex" target="_blank">Firestats.cc Wiki</a>上已经通告了问题的原因和解决办法：</p>
<p>大致是PHP的旧版本无法实现flock这个PHP函数的功能，因此解决办法是升级服务器的PHP程序版本；对于实在无法升级PHP服务端的情况，也提供了一种并不推荐的解决办法：</p>
<p>将firestats程序根目录下的“sample-conf.php”复制为“conf.php”,并编辑之将下列行的注释去掉：</p>
<pre class="brush: php; ">
define(&#039;DISABLE_MUTEX&#039;,true);
</pre>
<p>处理之后成功启用插件。<br />
接着进入Firefox插件的设置页面进行数据库的更新即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://phpstone.com/update-and-use-firestats1-60/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
