<?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>pzg&#039;s blog &#187; wordpress</title>
	<atom:link href="http://pzg.me/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://pzg.me</link>
	<description>今天你做了别人不愿做的事，明天你会做别人做不了的事。</description>
	<lastBuildDate>Sat, 11 Feb 2012 01:28:58 +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通过HTML5验证</title>
		<link>http://pzg.me/web/1794/html5-validation-to-wordpress-by/</link>
		<comments>http://pzg.me/web/1794/html5-validation-to-wordpress-by/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 08:33:39 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1794</guid>
		<description><![CDATA[&#60;?php   foreach(array(     'rsd_link',//rel="EditURI"     'index_rel_link',//rel="index"     'start_post_rel_link',//rel="start"     'wlwmanifest_link'//rel="wlwmanifest"   ) as $xx)   remove_action('wp_head',$xx);//X掉以上   funct... ]]></description>
			<content:encoded><![CDATA[<blockquote><p>&lt;?php   foreach(array(     'rsd_link',//rel="EditURI"     'index_rel_link',//rel="index"     'start_post_rel_link',//rel="start"     'wlwmanifest_link'//rel="wlwmanifest"   ) as $xx)   remove_action('wp_head',$xx);//X掉以上   function the_category_filter($thelist){//rel="category"或rel="category tag", 这个最巨量     return preg_replace('/rel=".*?"/','rel="tag"',$thelist);   }   add_filter('the_category','the_category_filter'); ?&gt;</p></blockquote>
<p>将以上代码加到functions.php里面去，Wordpress就不会生成烦人无用的rel属性了</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1794/html5-validation-to-wordpress-by/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>亦歌wordpress插件1g1g</title>
		<link>http://pzg.me/web/1785/song-of-wordpress-plug-1g1g-also/</link>
		<comments>http://pzg.me/web/1785/song-of-wordpress-plug-1g1g-also/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 14:32:32 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1785</guid>
		<description><![CDATA[使用WordPress搭建的博客，安装此插件后，可以在文章或页面中分享作者喜爱的歌曲。 该插件提供搜索功能，作者输入关键字，即可搜索出希望分享的歌曲。分享后页面中自动出现亦歌迷你播放... ]]></description>
			<content:encoded><![CDATA[<p>使用WordPress搭建的博客，安装此插件后，可以在文章或页面中分享作者喜爱的歌曲。</p>
<p>该插件提供搜索功能，作者输入关键字，即可搜索出希望分享的歌曲。分享后页面中自动出现亦歌迷你播放器，播放分享的歌曲。</p>
<p>在管理平台的“插件”-&gt;“添加新插件”中，搜索“1g music share”，即可找到此插件，轻松安装。</p>
<p>安装WordPress分享插件</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1785/song-of-wordpress-plug-1g1g-also/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>wordpress彻底清除pingbacks</title>
		<link>http://pzg.me/skill/1738/wordpress-completely-remove-pingbacks/</link>
		<comments>http://pzg.me/skill/1738/wordpress-completely-remove-pingbacks/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 11:13:00 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/skill/1738/wordpress-completely-remove-pingbacks/</guid>
		<description><![CDATA[当其他博客在文章中有提到你的博客或者某一篇文章的链接时，这是你的博客就会收到一个Pingbacks，主要是提到相互通知的作用，但是这个功能越来越鸡肋了，越来越多的广告通过这种形式进... ]]></description>
			<content:encoded><![CDATA[<p>当其他博客在文章中有提到你的博客或者某一篇文章的链接时，这是你的博客就会收到一个Pingbacks，主要是提到相互通知的作用，但是这个功能越来越鸡肋了，越来越多的广告通过这种形式进行传播，今天就来一个彻底关闭这个功能的方法。<br /> 需要用到数据库，直接在数据库中修改，但在修改之前，还是先把数据库给备份一下。<br /> 1，通过phpMyAdmin登陆数据库。<br /> 2，点击 Sql按钮：<br />&nbsp;<br />3，在新弹出的窗口中输入下面这条命令：<br /> UPDATE `wp_posts` SET ping_status="closed"; <br />4，完毕，从此之后再也不会看到pingbacks的任何信息了。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1738/wordpress-completely-remove-pingbacks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>阻止WordPress对站内文章的pingback</title>
		<link>http://pzg.me/skill/1695/wordpress-on-the-station-to-prevent-the-article-pingback/</link>
		<comments>http://pzg.me/skill/1695/wordpress-on-the-station-to-prevent-the-article-pingback/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 11:07:42 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1695</guid>
		<description><![CDATA[Pingback 是网志中常用的用来通知网志系统文章被引用情况的一种手段。3G 博客网将其翻译为“广播”，是指计算机系统向外部发出引用信息，但也有人认为会与日常生活中的广播混淆。当其他... ]]></description>
			<content:encoded><![CDATA[<p>Pingback 是网志中常用的用来通知网志系统文章被引用情况的一种手段。3G 博客网将其翻译为“广播”，是指计算机系统向外部发出引用信息，但也有人认为会与日常生活中的广播混淆。当其他人连结至 Web 作者的网页时，Web 作者获取通知的方法。这个方法使得 Web 作者可以追踪什么人连结至他的文章。有一些网志软件，如 WordPress，具有当一篇文章出版的时候，自动 pingback 这篇文章中所有的连结的功能。</p>
<p>以上对 Pingback 的解释来自于维基百科。对于 WordPress 而言，简单来说，pingback 就是当别人转载/引用你的文章链接时，会自动在你的文章底部加一条来源的链接（当然，前提是你的 WordPress 主题支持这一功能）。这个功能相当实用，因为大多数情况下，这些引用的链接都是和原文相关，或者有扩展的内容，读者可以寻着链接阅读到更多感兴趣的信息。</p>
<p>同样的道理是，如果在一篇文章中引用了自己站内之前写过的另一篇文章的链接，那么，这个之前的这篇文章就会收到自己站内发给自己一个 pingback。但是我认为一般说来，站内链接用相关日志功能就可以做到内链建设，pingback 对于站内文章是多余的，可以关闭这个功能。</p>
<p>方法如下，在 WordPress 主题的 functions.php 中添加如下代码：</p>
<p>function no_self_ping( &amp;$links ) {</p>
<p>$home = get_option( ‘home’ );</p>
<p>foreach ( $links as $l =&gt; $link )</p>
<p>if  ( 0 === strpos(  $link,  $home ) )</p>
<p>unset ( $links［$l］);</p>
<p>}</p>
<p>add_action ( ‘pre_ping’, ‘no_self_ping’ );<br />
 </p>
<p>如果我没记错的话，这段代码的前身是一个插件，但是仅仅为这几行代码动用一个插件是不是太奢侈了？能省则省吧，还是把它提取到了非插件集成在主题里，多省心呀</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1695/wordpress-on-the-station-to-prevent-the-article-pingback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress主题在线生成器</title>
		<link>http://pzg.me/skill/1692/online-wordpress-theme-generator/</link>
		<comments>http://pzg.me/skill/1692/online-wordpress-theme-generator/#comments</comments>
		<pubDate>Sun, 27 Mar 2011 14:18:04 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1692</guid>
		<description><![CDATA[不懂HTML，也不懂JS、PHP和CSS，可是又想制作一个属于自己的WordPress主题？试试WordPress主题在线生成器吧。 今天要介绍的就是已有若干年历史的主题生成器WordPress Theme Generator。它使用起来非常方... ]]></description>
			<content:encoded><![CDATA[<p>不懂HTML，也不懂JS、PHP和CSS，可是又想制作一个属于自己的WordPress主题？试试WordPress主题在线生成器吧。</p>
<p>今天要介绍的就是已有若干年历史的主题生成器WordPress Theme Generator。它使用起来非常方便，你需要做的就是选择颜色、选项、样式，然后在线预览，预览完成后点击最下方的“save”保存你制作出来的主题，然后系统会提供相应的zip文件供你下载。</p>
<p>当文件下载完毕，按照常规主题安装步骤完毕后，激活主题，你就可以用上自己制作出的主题了。</p>
<p>WordPress Theme Generator兼容WordPress 2.1到3.1的所有版本，支持widget和标签，给出各种设计要素供用户选择。效果在右侧显示。</p>
<p>WordPress Theme Generator的缺点在于不够灵活，选项只能满足基本需求。如果你对主题的要求比较高，去官方主题库寻找适合的主题更靠谱些。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1692/online-wordpress-theme-generator/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>wordpress 替代 All in One SEO Pack插件</title>
		<link>http://pzg.me/skill/1671/wordpress-alternative-to-all-in-one-seo-pack-plugin/</link>
		<comments>http://pzg.me/skill/1671/wordpress-alternative-to-all-in-one-seo-pack-plugin/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 16:50:14 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1671</guid>
		<description><![CDATA[在寻找All in One SEO Pack插件的替代方案前，首先要弄明白这个问题。下面几个功能是最有价值的，也是wordpress默认无法提供的： 1、博客的标题（title）应当写成内容 &#124; 博客名的形式； 2、head... ]]></description>
			<content:encoded><![CDATA[<p>在寻找All in One SEO Pack插件的替代方案前，首先要弄明白这个问题。下面几个功能是最有价值的，也是wordpress默认无法提供的：</p>
<p>1、博客的标题（title）应当写成内容 | 博客名的形式；</p>
<p>2、head部分添加充足的meta说明；</p>
<p>3、让搜索引擎不要索引存档页面，存档页面都是重复内容，这会降低博客的评分。</p>
<p>4、为每一篇文章以及博客首页，加上独特的关键词（keywords）；</p>
<p>下面就会针对这些问题，给出解决方案。如果你不大了解php语言，只需要按照说明复制粘贴到自己的wordpress模板中就可以了。</p>
<p>修正博客的标题</p>
<p>在模板文件夹中找到header.php文件，打开后修改title标签：</p>
<p>&lt;title&gt;&lt;?php wp_title(' | ', true, 'right'); ?&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/title&gt;<br />
/**或者干脆把博客的名字写死，你总不会时常换博客名字吧**/<br />
&lt;title&gt;&lt;?php wp_title(' | ', true, 'right'); ?&gt;Cogipard Playground&lt;/title&gt;<br />
 </p>
<p>添加充足的meta说明</p>
<p>还是修改header.php文件，在head标签中酌情加入如下内容：</p>
<p>/**博客的描述性内容，你可以像我这样写死，也可以采用wordpress的副标题（用bloginfo("description")获得）**/<br />
&lt;meta name="description" content="A personal online home, portfolio and journal." /&gt;<br />
/**博主的名字**/<br />
&lt;meta name="author" content="dotswing" /&gt;<br />
/**版权信息**/<br />
&lt;meta name="copyright" content="Cogipard Playground" /&gt;</p>
<p> 不索引存档页面</p>
<p>修改header.php文件，紧接着上述的meta标签，加入：</p>
<p>&lt;?php if (is_single() || is_page() || is_home() ) : ?&gt;<br />
&lt;meta name="robots" content="index,follow" /&gt;<br />
&lt;?php else : ?&gt;<br />
&lt;meta name="robots" content="noindex,follow" /&gt;<br />
&lt;?php endif; ?&gt;</p>
<p> 这样对于存档页面，搜索引擎就不会去索引这些重复的内容了。</p>
<p>个性化输出页面文章的关键词</p>
<p>在模板文件夹下的functions.php文件中，加入如下的函数：</p>
<p>function keywords() {<br />
$keywords = '';<br />
if( is_single() || is_page() ){<br />
$terms = get_the_terms( get_the_ID(), 'post_tag' );<br />
if ( is_wp_error( $terms ) )<br />
return $terms;<br />
if ( empty( $terms ) )<br />
return false;<br />
foreach ( $terms as $term ) {<br />
$keywords .= $term-&gt;name;<br />
$keywords .= ', ';<br />
}<br />
}<br />
else {<br />
$tags = get_tags('orderby=count&amp;order=DESC');<br />
foreach ($tags as $tag){<br />
$keywords .= $tag-&gt;name;<br />
$keywords .= ', ';<br />
}<br />
}<br />
$keywords = substr($keywords, 0, strlen($keywords)-2);<br />
echo $keywords;<br />
}</p>
<p>这个函数的作用是，如果访客浏览的是单独的某文章页面，就会把该文章对应的tag提取出来，作为关键词；如果是其它页面，则把博客所有的tag一起输出成关键词。关键词用逗号隔开。</p>
<p>在header.php中调用这个函数：</p>
<p>&lt;meta name="keywords" content="&lt;?php keywords();?&gt;" /&gt;<br />
functions.php中的代码，可以在模板页中直接使用，wordpress已经为我们做好了include操作，不需要自己来写include_once（‘functions.php’）;了。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1671/wordpress-alternative-to-all-in-one-seo-pack-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 3.1 禁止自动草稿(auto-draft)的方法</title>
		<link>http://pzg.me/skill/1665/wordpress-3-1-disable-auto-draft-auto-draft-method/</link>
		<comments>http://pzg.me/skill/1665/wordpress-3-1-disable-auto-draft-auto-draft-method/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 10:47:41 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1665</guid>
		<description><![CDATA[WordPress3.1版本发布有一段时间了。该版本不仅仅有自动保存历史版本的功能（通常都用不着，还会造成一些垃圾数据），还增加了一个自动保存草稿的功能。你每次点击”add new”时都会在post表... ]]></description>
			<content:encoded><![CDATA[<p>WordPress3.1版本发布有一段时间了。该版本不仅仅有自动保存历史版本的功能（通常都用不着，还会造成一些垃圾数据），还增加了一个自动保存草稿的功能。你每次点击”add new”时都会在post表中保存一条状态为“auto-draft”的后台不可见记录，同样会造成一些垃圾数据以及ID的不连续性。</p>
<p>为保证尽量减少数据库中的垃圾和保持日志ID的连续性，人们想了很多办法，各显神通。但大部分都是采用插件形式。插件形式仅仅能禁止日志的历史版本，却对自动插入的状态为”auto-draft”的记录无能为力。而且这种记录并不能在wordpress的后台看到。对于追求完美和有洁癖的人来说，这些记录实在是很烦人。</p>
<p>禁止自动生成 auto-draft 的不可见草稿：<br />
在wp-admin/includes/post.php中，从第374行开始，有一个if判断，代码如下：<br />
if ( $create_in_db ) {<br />
// Cleanup old auto-drafts more than 7 days old<br />
$old_posts = $wpdb-&gt;get_col( "SELECT ID FROM $wpdb-&gt;posts WHERE post_status = 'auto-draft' AND DATE_SUB( NOW(), INTERVAL 7 DAY ) &gt; post_date" );<br />
foreach ( (array) $old_posts as $delete )<br />
wp_delete_post( $delete, true ); // Force delete<br />
$post_id = wp_insert_post( array( 'post_title' =&gt; __( 'Auto Draft' ), 'post_type' =&gt; $post_type, 'post_status' =&gt; 'auto-draft' ) );<br />
$post = get_post( $post_id );<br />
} else {<br />
解释一下这段代码的功能，首先，清除七天以前的自动草稿，然后插入一条新草稿，如果你继续写文章并发布，那么这条草稿就被使用了，包括在后台首页有一个快速发布，也用到了这个。但如果你仅仅是点击了new post(添加文章)，接下来没有输入任何内容就跳到别的页面去了或关闭了，此时仍然会生成一个自动草稿，而这个草稿，是后台不可见的，是垃圾数据。</p>
<p>所以修改了一下代码，将这个if判断中的内容替换成以下内容，代码如下：<br />
if ( $create_in_db ) {<br />
// modify by akii start<br />
global $current_user;<br />
$post_auto_draft = $wpdb-&gt;get_row( "SELECT * FROM $wpdb-&gt;posts WHERE post_status = 'auto-draft' AND post_author = $current_user-&gt;ID ORDER BY ID ASC LIMIT 1" );<br />
if ($post_auto_draft){<br />
$post = $post_auto_draft;<br />
} else {<br />
$post_id = wp_insert_post( array( 'post_title' =&gt; __( 'Auto Draft' ), 'post_type' =&gt; $post_type, 'post_status' =&gt; 'auto-draft' ) );<br />
$post = get_post( $post_id );<br />
}<br />
// modify by akii end<br />
} else {<br />
原理及说明：当数据库中有一条或多条状态为”auto-draft”的自动草稿时，取ID最小的，新文章即使用此条记录。如果没有此种类型的数据，才会新插入一条数据。并且查询数据时是根据当前的用户来判断，不会出现多用户时出错。这样就可以避免了自动草稿(auto-draft)的冗余垃圾数据。保证了日志ID的连续性。但最后我要提醒一句，如果你在日志中添加了附件，如图片，那么该图片也会占用一条数据，即一个连续的ID，所以，如果你以ID形式，发现日志有时候不是连续的ID了，那么，有可能是你日志的附件占用了临近的ID。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1665/wordpress-3-1-disable-auto-draft-auto-draft-method/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>wordpress嵌入视频</title>
		<link>http://pzg.me/skill/1648/wordpress-embed-the-video/</link>
		<comments>http://pzg.me/skill/1648/wordpress-embed-the-video/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 04:40:28 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1648</guid>
		<description><![CDATA[中文视频网站视频自动嵌入 - 允许您以在文章添加视频播放页面网址的方式，简单地插入优酷网、56.com 和土豆网视频。默认开启。 当前支持的站点、样例 URL 和参数如下： •优酷网 - 如 http://v... ]]></description>
			<content:encoded><![CDATA[<p>中文视频网站视频自动嵌入 - 允许您以在文章添加视频播放页面网址的方式，简单地插入优酷网、56.com 和土豆网视频。默认开启。<br />
当前支持的站点、样例 URL 和参数如下：</p>
<p>•优酷网 - 如 http://v.youku.com/v_show/id_XMjQxMjc1MDIw.html - 宽 480px，高 400px<br />
•56.com - 如 http://www.56.com/u21/v_NTgxMzE4NDI.html - 宽 480px，高 395px<br />
•土豆网 - 如 http://www.tudou.com/programs/view/o9tsm_CL5As/ - 宽 480px，高 400px<br />
您只需在文章另起一段，写入形如上述的播放页面链接。在文章显示时，WordPress 将自动替换这些链接为相应视频播放器。需要您特别注意的是，请不要为 URL 设置超链接，且该 URL 本身必须独立成段。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1648/wordpress-embed-the-video/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress 3.1版正式发布</title>
		<link>http://pzg.me/net/1631/wordpress-3-1-version-released/</link>
		<comments>http://pzg.me/net/1631/wordpress-3-1-version-released/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 13:53:21 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网络感想]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1631</guid>
		<description><![CDATA[WordPress 3.1于昨晚正式发布，该版本比官方原定发布计划晚了2个多月，被命名为Reinhardt,献给爵士音乐家 Django Reinhardt。 目前，官方已经提供中文版本下载，站长也可以在博客后台看到更新提示... ]]></description>
			<content:encoded><![CDATA[<p>WordPress 3.1于昨晚正式发布，该版本比官方原定发布计划晚了2个多月，被命名为Reinhardt,献给爵士音乐家 Django Reinhardt。</p>
<p>目前，官方已经提供中文版本下载，站长也可以在博客后台看到更新提示。</p>
<p>此版本引入了全新设计的链接方式 —— 今后您可以以闪电般的速度将文字链接到站点中的其它文章或页面；添加了“管理工具条”功能，使用常用功能将只需点击一次鼠标；简洁的流程化的写作界面默认隐藏了极少用到的功能（在“页面选项”中可恢复它们），就算您是“新手”，也从此不必害怕了。3.1 版本还提供了新的蓝色后台配色方案。</p>
<p>开发者也有糖吃 —— “文章形式”功能让开发者为主题设计“微博”文章格式更加顺手；新内容管理系统（CMS）功能提供了用来显示自定义文章类型的归档页面支持；此版本还包含了全新的“网络管理员”、导入和导出系统的改造、分类法高级查询等功能。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/net/1631/wordpress-3-1-version-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>wordpress无法上传附件的解决办法</title>
		<link>http://pzg.me/skill/1627/wordpress-solutions-can-not-upload-attachments/</link>
		<comments>http://pzg.me/skill/1627/wordpress-solutions-can-not-upload-attachments/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 05:33:38 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1627</guid>
		<description><![CDATA[很多朋友，因为对WordPress主机认识有一个不断变化的过程，所以会经常更换主机，几次转换之后，还有可能出现的一个问题是：博客无法上传附件。 出现问题的原因：不管是哪种主机，在帐户... ]]></description>
			<content:encoded><![CDATA[<p>很多朋友，因为对WordPress主机认识有一个不断变化的过程，所以会经常更换主机，几次转换之后，还有可能出现的一个问题是：博客无法上传附件。</p>
<p>出现问题的原因：不管是哪种主机，在帐户创建的时候，那Wopus来说，帐户的绝对路径开始一定是：/home/wopus/xxxx。这里wopus就是登陆主机控制面板的用户名，如果把博客放在public_html根目录，那附件上传的绝对路径是：/home/wopus/public_html/wp-content/uploads/month/xxx。</p>
<p>由于要换空间，新开空间可能会使用不同的用户名，比如新的空间使用qiuzhang这个用户名，那么，在程序上传完毕，数据库也导入完成之后，附件的上传绝对路径还是没有变，还是：/home/wopus/public_html/wp-content/uploads/month/xxx；但正确的上传绝对路径应该是：/home/qiuzhang/public_html/wp-content/uploads/month/xxx。</p>
<p>于是，我们只要在wp_options数据表的第二页找到：upload_path，点击最前面的修改，把地址修改成正确的绝对地址，然后保存，这样，再上传，问题就解决了。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1627/wordpress-solutions-can-not-upload-attachments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress编辑器全攻略</title>
		<link>http://pzg.me/skill/1620/wordpress-editor-raiders/</link>
		<comments>http://pzg.me/skill/1620/wordpress-editor-raiders/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 11:16:13 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1620</guid>
		<description><![CDATA[为编辑器添加新的HTML标签 默认情况下WordPress编辑器不允许不符合XHTML 1.0标准的HTML标签出现在编辑器里。例如，iframe就会被编辑器过滤掉。如果你需要在文章或者页面里插入iframe，结果会让你... ]]></description>
			<content:encoded><![CDATA[<p>为编辑器添加新的HTML标签</p>
<p>默认情况下WordPress编辑器不允许不符合XHTML 1.0标准的HTML标签出现在编辑器里。例如，iframe就会被编辑器过滤掉。如果你需要在文章或者页面里插入iframe，结果会让你很沮丧。</p>
<p>下面的代码强制编辑器接受更多HTML标签。你只需要把它们粘贴到主题的functions.php文件里然后保存就可以了。</p>
<p>function fb_change_mce_options($initArray) {     <br />
$ext = 'pre[id|name|class|style],iframe[align|longdesc|<br />
name|width|height|frameborder|scrolling|marginheight|<br />
marginwidth|src]';       <br />
if ( isset( $initArray['extended_valid_elements'] ) ) {         <br />
$initArray['extended_valid_elements'] .= ',' . $ext;     <br />
} else {         <br />
$initArray['extended_valid_elements'] = $ext;     <br />
}       <br />
return $initArray; <br />
} <br />
add_filter('tiny_mce_before_init', 'fb_change_mce_options');<br />
将HTML编辑器设为默认编辑器</p>
<p>惯于写代码的站长们更习惯编写HTML，所以他们不太喜欢WordPress的可视化编辑器，而且在所见即所得编辑器里更可能生成无效代码或者混乱的代码。</p>
<p>那么要怎样把HTML编辑器设为WordPress的默认编辑器呢？打开主题的functions.php文件，加入以下代码：</p>
<p>add_filter('wp_default_editor', create_function('', 'return "html";'));  <br />
在编辑器里添加默认内容</p>
<p>在functions.php文件里添加以下代码：</p>
<p>function insertFootNote($content) {<br />
        if(!is_feed() &amp;&amp; !is_home()) {<br />
                $content.= "&lt;div class='subscribe'&gt;";<br />
                $content.= "&lt;h4&gt;标题&lt;/h4&gt;";<br />
                $content.= "&lt;p&gt;显示的正文内容&lt;a href='http://指向的链接'&gt;链接文字&lt;/a&gt;&lt;/p&gt;";<br />
                $content.= "&lt;/div&gt;";<br />
        }<br />
        return $content;<br />
}<br />
add_filter ('the_content', 'insertFootNote');<br />
 <br />
事实上这些内容并不会显示在编辑器里，但你每次发布新文章时，文章结尾会出现你事先设定的内容。</p>
<p>显示Tiny MCE中的隐藏按钮</p>
<p>默认情况下，WordPress的TinyMCE编辑器中只给出了最常用的编辑按钮，比如加粗、斜体、标题等。如果你需要更多文字格式选项，可以在functions.php文件里加上下面的代码，让隐藏的按钮统统显示出来：</p>
<p>function enable_more_buttons($buttons) {   <br />
$buttons[] = 'hr';   <br />
$buttons[] = 'fontselect';   <br />
$buttons[] = 'sup';     </p>
<p>// etc, etc...     </p>
<p>return $buttons; <br />
} <br />
add_filter("mce_buttons", "enable_more_buttons");<br />
可用的编辑按钮包括：加粗、斜体、下划线、删除线、左对齐、居中、右对齐、两端对齐、无序列表、编号列表、减少缩进、缩进、剪切、复制、粘贴、撤销、重做、插入超链接、取消超链接、插入图片、清除、帮助、代码、水平线、删除格式、格式选择、字体选择、字号选择、样式选择、上标、下标、前景色、背景色、特殊符号、视觉辅助、锚文本、新建文本与分隔符。</p>
<p>添加本地语言的拼写检查</p>
<p>WordPress默认配置中有一个英文拼写检查工具，那么有没有办法对其它语言进行拼写检查呢？</p>
<p>同样可以在functions.php里加上下面的代码（以中文为例）以实现拼写检查功能：</p>
<p>function fb_mce_external_languages($initArray){     <br />
$initArray['spellchecker_languages'] = '+Chinese=zh,<br />
English=en';       </p>
<p>return $initArray; <br />
} <br />
add_filter('tiny_mce_before_init', 'fb_mce_external_languages');<br />
虽说WordPress内置的TinyMCE编辑器就是一款所见即所得（WYSIWYG）编辑器，然而我们在后台编辑好的文章和在前台看到的效果，总不十分一致。要让后台编辑结果和前台显示效果实现更高的匹配度，其实也不难。</p>
<p>给WordPress编辑器添加自定义按钮</p>
<p>在WordPress编辑器里添加各种按钮，可以给编辑器增加更多功能，让你更方便地编辑文章。</p>
<p>假设我们需要在HTML编辑器里加上一个Google AdSense广告的插入按钮。首先需要编写一段关于Google AdSense的短代码并加入到funtions.php文件里。下面是一个Google AdSense段代码的示例：</p>
<p>function do_adsense() {<br />
  $adsense = "你的AdSense代码";<br />
  return $adsense;<br />
}<br />
add_shortcode('adsense', 'do_adsense');  <br />
完成上面的代码后，我们需要在wp-includes/js文件夹下的quicktags.js文件里加入一段代码。不过操作顺序应该是，在quicktags.dev.js文件里加入代码：</p>
<p>edButtons[edButtons.length] =<br />
new edButton(‘ed_adsense’<br />
,’adsense’<br />
,’[adsense]’<br />
,’’<br />
,'adsense'<br />
);<br />
然后将quicktags.dev.js更名为quicktags.js，替换原有的quicktags.js文件。（为防止意外情况发生，请事先备份这两个文件）</p>
<p>保存并刷新后台的编辑界面，你就会看到新的编辑按钮了，当然你也可以稍微改动其中的代码来添加其他按钮。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1620/wordpress-editor-raiders/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress的30个基本操作</title>
		<link>http://pzg.me/skill/1605/30-basic-operations-wordpress/</link>
		<comments>http://pzg.me/skill/1605/30-basic-operations-wordpress/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 09:20:03 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1605</guid>
		<description><![CDATA[WordPress基础 1. 新增一个【关于我】的网志分页。 2.可以找 找一个优秀的付费主题，例如 WooThemes 或 Themeforest。 3. 为你自己注册一个 Gravatar.com 帐号并上传头像。这有助于你提升品牌形象。 4. 变... ]]></description>
			<content:encoded><![CDATA[<p>WordPress基础</p>
<p>1. 新增一个【关于我】的网志分页。</p>
<p>2.可以找 找一个优秀的付费主题，例如 WooThemes 或 Themeforest。</p>
<p>3. 为你自己注册一个 Gravatar.com 帐号并上传头像。这有助于你提升品牌形象。</p>
<p>4. 变更预设的Admin 密码，及妥善管理其他作者帐号。</p>
<p>5. 更改网志描述。</p>
<p>6. 删除预设的链结。</p>
<p>7. 建立一个「联系」页面，让读者能够与你取得联系。</p>
<p>8. 加入网站统计代码，它有助于你掌握网站情形。你可以使用Google分析、StatCounter或是任何你想用的服务。对我来说，StatCounter是相当可信赖、速度优异的服务。</p>
<p>（备註：或者你可以安装WordPress.com Stats统计插件，它是个很方便的选择。）</p>
<p>9. 删除预设文章「Hello World」和预设的回复。</p>
<p>10. 设计一个Favicon并且将它挂上。</p>
<p>11. 加入隐私政策或是免责声明页面。</p>
<p>12. 注册FeedBurner。有很多方式可以提升博客人气，最好提供RSS Feed。</p>
<p>13. 自订404错误页面，将热门文章、热门讨论等等内容加入404页面，让你的访客能有更多选择。错误页面不该是条死路，至少不要让访客轻易离开。</p>
<p>WordPress设定</p>
<p>14. 设定固定链接。在你开始写作或者发布文章以前，最好为文章编辑固定网址。在设定 → 固定网址里，我使用的形式为 /%postname%/ 。</p>
<p>15. 开启阶层式回复功能。在设定 → 评论 → 其他评论选项，并将层次设定为 5 。</p>
<p>16. 在站长工具新增你的网站。Google网站管理员工具提供许多功能，可以让你加入网站地图，使搜索引擎能够更快索引你的网站。并提供统计讯息及错误纪录，值得一用。</p>
<p>17. 再次检查你的域名名称。如果你要做任何变更，最好当机立断，马上去做。</p>
<p>WordPress插件</p>
<p>18. Akismet – WordPress预设的插件。在WordPress.com註册帐号并取得API金钥，启用后就能有效阻挡垃圾留言。</p>
<p>19. Digg Digg – 这是一个集合许多社交网路按钮的插件，其中将 Digg, Reddit, Dzone, Yahoo Buzz, TweetMeme(Twitter), Facebook, Polladium, StumbleUpon, Delicious, Sphinn, Post Comments, Google Buzz, Designbump, Designfloat 等等整合。</p>
<p>20. W3 Total Cache – 提升博客速度的第一步，我想这不会太困难，与安装一般插件差不多。</p>
<p>21. Subscribe to Comments – 订阅评论是一个相当强大的功能，让评论者能够在有新评论时收到电子邮件通知。这个插件包含完整的订阅管理器，留言者能够取消订阅、停止通知，甚至变更他们的电子邮件地址。</p>
<p>22. CommentLuv – 这个插件能访问留言者的网站，显示他们网誌的最新文章、tweets或digg.</p>
<p>23. All-In-One-SEO – 安装All-In-One-SEO插件，设定你的日志标题、日志描述以及日志关键字。</p>
<p>24. Nofollow Case by Case – 什么都不用做，插件会自动将留言的nofollow标签移除。</p>
<p>25. Google XML Sitemap – Google Sitemap插件能够在你发佈文章时自动为网誌产生网站地图。</p>
<p>26. WordPress Related Posts – 如果读者喜欢你的文章，你可以做的是把更多的文章摆在他们眼前，让他们能不断从你的日志里挖掘内容。</p>
<p>27. Login Lockdown – 安装此插件以增强日志安全性。</p>
<p>28. WP-DBManager – 加入此插件，建立备份资料库。</p>
<p>WordPress SEO</p>
<p>29. 使用你的关键字词组来建立分类。</p>
<p>30. 新增日志标题和描述，将你的主要关键字放在设定里。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1605/30-basic-operations-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>给wordpress添加最新、热评、随机日志</title>
		<link>http://pzg.me/web/1578/to-add-the-latest-wordpress-lively-random-log/</link>
		<comments>http://pzg.me/web/1578/to-add-the-latest-wordpress-lively-random-log/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 22:51:05 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1578</guid>
		<description><![CDATA[首先把以下函数放在 WordPress 主题文件夹里的 functions.php 中： function filter_where($where = '') { $where .= " AND post_date &#62; '" . date('Y-m-d', strtotime('-30 days')) . "'"; return $where; } function some_posts($orderby = '', $pl... ]]></description>
			<content:encoded><![CDATA[<p>首先把以下函数放在 WordPress 主题文件夹里的 functions.php 中：</p>
<p>function filter_where($where = '') {<br />
$where .= " AND post_date &gt; '" . date('Y-m-d', strtotime('-30 days')) . "'";<br />
return $where;<br />
}<br />
function some_posts($orderby = '', $plusmsg = '',$limit = 10) {<br />
add_filter('posts_where', 'filter_where');<br />
$some_posts = query_posts('posts_per_page='.$limit.'&amp;caller_get_posts=1&amp;orderby='.$orderby);<br />
foreach ($some_posts as $some_post) {<br />
$output = '';<br />
$post_date = mysql2date('y年m月d日', $some_post-&gt;post_date);<br />
$commentcount = '('.$some_post-&gt;comment_count.' 条评论)';<br />
$post_title = htmlspecialchars(stripslashes($some_post-&gt;post_title));<br />
$permalink = get_permalink($some_post-&gt;ID);<br />
$output .= '</p>
<li>' . $post_title . ''.$$plusmsg.'</li>
<p>';<br />
echo $output;<br />
}<br />
wp_reset_query();<br />
}<br />
可以看到第二行中的 30 就是指最近 30 天，也可以根据你自己的需要修改这个时间。至于调用则和升级版之前的一样，下面只是比上次多加了一个 $limit 参数：</p>
<p>&lt; ?php<br />
//最新日志<br />
some_posts( $orderby = 'date', $plusmsg = 'post_date', 10 );<br />
//热评日志<br />
some_posts( $orderby = 'comment_count', $plusmsg = 'commentcount', 10 );<br />
//随机日志<br />
some_posts( $orderby = 'rand', $plusmsg = 'post_date', 10 );<br />
?&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1578/to-add-the-latest-wordpress-lively-random-log/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>wordpress清理wp_postmeta全攻略</title>
		<link>http://pzg.me/web/1532/wordpress-clean-wp_postmeta-raiders/</link>
		<comments>http://pzg.me/web/1532/wordpress-clean-wp_postmeta-raiders/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 02:18:59 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp_postmeta]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1532</guid>
		<description><![CDATA[wp_postmeta 表 是存储文章附带信息的，除了一些特定时候里面的数据是没有用的我之前也写过数据清理文章简单的给出了两条语句并且有其他数据表的清理，详情参见wordpress数据库清理。 下面在... ]]></description>
			<content:encoded><![CDATA[<p><strong>wp_postmeta </strong>表 是存储文章附带信息的，除了一些特定时候里面的数据是没有用的我之前也写过数据清理文章简单的给出了两条语句并且有其他数据表的清理，详情参见<a title="wordpress数据库清理" href="http://pzg.me/web/779/wordpress-database-clean-up/">wordpress数据库清理</a>。</p>
<p>下面在给出几条语句让你的<strong>wp_postmeta</strong>干净到非常。</p>
<p>DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';<br />
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';</p>
<p>这是之前给出的两条语句测试安全删除无危险。</p>
<p>DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';<br />
DELETE FROM wp_postmeta WHERE meta_key = '_revision-control';<br />
DELETE FROM wp_postmeta WHERE meta_value = '{{unknown}}';</p>
<p>这是新尝试的三条语句，前两条危险性不大。最后一条不太清楚目前作用，但是删除后无任何异常。这五条语句执行完毕能够删除掉95%以上的数据，算的上是极限优化了，最后考虑到这个数据表并不是很重要，有洁净癖的人可以尝试清空这个表，当然我测试清空表会让一些原本的数据丢失。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1532/wordpress-clean-wp_postmeta-raiders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>修改WP Cleaner短标签语句</title>
		<link>http://pzg.me/web/1530/modify-the-label-statement-short-wp-cleaner/</link>
		<comments>http://pzg.me/web/1530/modify-the-label-statement-short-wp-cleaner/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 01:04:13 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1530</guid>
		<description><![CDATA[之前写过一篇这个插件的文章WP Cleaner 删除wordpress不再需要的修订版，但是自从某次升级以后变无法使用这款插件了，我一直以为是插件的问题，并且作者也发出了一个修正版本，但是情况依然... ]]></description>
			<content:encoded><![CDATA[<p>之前写过一篇这个插件的文章<a title="WP Cleaner 删除wordpress不再需要的修订版" href="http://pzg.me/web/280/wp-cleaner-no-longer-need-to-delete-a-revised-version-of/">WP Cleaner 删除wordpress不再需要的修订版</a>，但是自从某次升级以后变无法使用这款插件了，我一直以为是插件的问题，并且作者也发出了一个修正版本，但是情况依然没有改变，我还是无法使用。</p>
<p>这两天找了找其他的清理插件，效果没有这个理想还是想用这款插件，于是耐下心来看了看插件的代码，结果发现并不是大问题，因为我的空间不在支持短标签了，而插件是使用的短标签“&lt;? ”我只需要改成“&lt;?php ”即可了，粗略看了下代码使用了三次替换来处理这块。</p>
<p>第一，把代码里的“&lt;?=”替换为“&lt;?php echo ”<br />
第二，把“&lt;?”替换为“&lt;?php”<br />
第三，把“&lt;?phpphp”替换为“&lt;?php”</p>
<p>完成这三次替换保存代码即可在关闭短标签的状态下使用了。</p>
<p>插件官方地址：<a href="http://www.jiangmiao.org/blog/138.html">http://www.jiangmiao.org/blog/138.html</a></p>
<p>本站提供修改版下载地址：<a href="http://www.box.net/shared/sarkgk9ma2">http://www.box.net/shared/sarkgk9ma2</a></p>
<p>PS：其实这个只是代码写作习惯问题，建议插件作者也处理下这块，毕竟运行环境有时候不用用户能够操作的，而且一个良好的习惯也是有必要的。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1530/modify-the-label-statement-short-wp-cleaner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Akismet获取API KEY的方法</title>
		<link>http://pzg.me/web/1527/way-to-get-akismet-api-key/</link>
		<comments>http://pzg.me/web/1527/way-to-get-akismet-api-key/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 09:05:42 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[Akismet]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1527</guid>
		<description><![CDATA[详细步骤： 1，登录http://www.wordpress.com 2，在WordPress.com右上角找到 Sign Up Now。 3，填写基本信息，需要注意的，我都注明了： 4，到邮箱里点击链接验证，并更新个人信息。 Update Your Profile!是 更... ]]></description>
			<content:encoded><![CDATA[<p>详细步骤：</p>
<p>1，登录http://www.wordpress.com</p>
<p>2，在WordPress.com右上角找到 Sign Up Now。</p>
<p>3，填写基本信息，需要注意的，我都注明了：</p>
<p>4，到邮箱里点击链接验证，并更新个人信息。</p>
<p>Update Your Profile!是 更新个人信息 的意思。</p>
<p>这里有一个细节，可以体现WordPress.com的用户体验做的非常完美：如果一直没有收到验证的邮件，可以重新选择邮箱。</p>
<p>5，点击邮箱里的验证链接，出现 Your account is now active! 表示帐户已经验证成功。</p>
<p>6，登陆WordPress.com，登陆之后，http://www.wordpress.com首页左上角的用户状态已经变更：</p>
<p>7，点击 My Account下面的Global Dashboard进入后台，再点击 Profile，再点击 Were you looking for your API Key and other Personal Settings?。</p>
<p>8，在点开的页面里可以看到：Your WordPress.com API key is: xxxxxxxxx，这就是属于自己的Akismet的Api Key了。<br />
但要注意后面的一句话：Don't share your API key, it's like a password.中文意思是：这和密码一样重要，请勿分享给其他人使用。</p>
<p>9，到这里，就完成Akismet的Api Key的获取过程，以后各位可以自己获取了。</p>
<p>10，有任何问题，欢迎留言。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1527/way-to-get-akismet-api-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关闭wordpress的自动草稿</title>
		<link>http://pzg.me/web/1523/turn-off-the-automatic-draft-wordpress/</link>
		<comments>http://pzg.me/web/1523/turn-off-the-automatic-draft-wordpress/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 00:57:12 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1523</guid>
		<description><![CDATA[网上目前能找到两种方法： 1、找到wp-admin/includes/post.php里边的get_default_post_to_edit这个函数, $post = get_post( wp_insert_post( array( 'post_title' =&#62; __( 'Auto Draft' ), 'post_type' =&#62; $post_type, 'post_status' =&#62; '... ]]></description>
			<content:encoded><![CDATA[<p>网上目前能找到两种方法：</p>
<p>1、找到wp-admin/includes/post.php里边的get_default_post_to_edit这个函数,</p>
<p>$post = get_post( wp_insert_post( array( 'post_title' =&gt; __( 'Auto Draft' ), 'post_type' =&gt; $post_type, 'post_status' =&gt; 'auto-draft' ) ) );</p>
<p>把这一句修改成如下:</p>
<p>$post_auto_draft = $wpdb-&gt;get_row( "SELECT * FROM $wpdb-&gt;posts WHERE post_type = '$post_type' AND post_status = 'auto-draft' LIMIT 1" );<br />
if ( $post_auto_draft ) {<br />
$post = $post_auto_draft;<br />
} else {<br />
$post = get_post( wp_insert_post( array( 'post_title' =&gt; __( 'Auto Draft' ), 'post_type' =&gt; $post_type, 'post_status' =&gt; 'auto-draft' ) ) );<br />
}<br />
意思就是: 如果有自动保存的auto-draft就使用以前的auto-draft的ID来写文章,如果没有就插入一条auto-draft, 最后,数据库中总有一条auto-draft... 虽然数据库会多一条数据,但ID还是可以保持连续.</p>
<p>2、找到wp-admin\includes\post.php文件,在if ( $create_in_db ) {前面加上这句代码就可以了：</p>
<p>$create_in_db = false;</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1523/turn-off-the-automatic-draft-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决 WordPress 符号自动转换</title>
		<link>http://pzg.me/skill/1481/wordpress-automatic-conversion-to-resolve-symbol/</link>
		<comments>http://pzg.me/skill/1481/wordpress-automatic-conversion-to-resolve-symbol/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 02:45:58 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1481</guid>
		<description><![CDATA[玩 WordPress 的人，从别处复制的代码显示的代码是半角的，到自己博客却显示为全角呢？？原来这是 WP 的经典遗留问题。要想解决这个问题也简单。找到了以下两种方法。 第一种：解决WordPress... ]]></description>
			<content:encoded><![CDATA[<p>玩 WordPress 的人，从别处复制的代码显示的代码是半角的，到自己博客却显示为全角呢？？原来这是 WP 的经典遗留问题。要想解决这个问题也简单。找到了以下两种方法。</p>
<p>第一种：解决WordPress半角引号变成全角引号问题的方法</p>
<p>修改主题theme下的主题函数functions.php文件，在里面的头部加入下面的代码：<br />
 &lt;?php remove_filter('the_content', 'wptexturize'); ?&gt;<br />
 </p>
<p>第二种：解决WordPress半角引号变成全角引号问题的方法</p>
<p>修改wp-includes目录下的formatting.php，打开formatting.php这个文件找到<br />
 // static strings<br />
$curl = str_replace($static_characters, $static_replacements, $curl);<br />
// regular expressions<br />
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);<br />
 </p>
<p>在$curl的前面加上两条//将其注释掉，如下：<br />
 // static strings<br />
//$curl = str_replace($static_characters, $static_replacements, $curl);<br />
// regular expressions<br />
//$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1481/wordpress-automatic-conversion-to-resolve-symbol/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>wordpress访客来向和欢迎词</title>
		<link>http://pzg.me/web/1408/wordpress-and-welcome-visitors-to-the/</link>
		<comments>http://pzg.me/web/1408/wordpress-and-welcome-visitors-to-the/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 00:54:50 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1408</guid>
		<description><![CDATA[1、把以下代码复制到 WordPress 主题的 functions.php 中： function show_refer_in(){ $refer_info=$_SERVER['HTTP_REFERER']; $ban_list=array($_SERVER["HTTP_HOST"]); for($ii=0;$ii&#60;count($ban_list);$ii++){ if(strpos($refer_info,$ban_list[$ii])... ]]></description>
			<content:encoded><![CDATA[<p>1、把以下代码复制到 WordPress 主题的 functions.php 中：</p>
<p>function show_refer_in(){<br />
$refer_info=$_SERVER['HTTP_REFERER'];<br />
$ban_list=array($_SERVER["HTTP_HOST"]);<br />
for($ii=0;$ii&lt;count($ban_list);$ii++){<br />
if(strpos($refer_info,$ban_list[$ii])){<br />
return;<br />
}<br />
}<br />
if($refer_info){<br />
preg_match("/^(http:\/\/)?([^\/]+)/i",<br />
$refer_info, $matches);<br />
$host = $matches[2];<br />
echo "&lt;div id=\"hellobaby\"&gt;欢迎来自 ".$host." 的朋友！&lt;br /&gt;推荐您 &lt;b&gt;&lt;a href=\"http://pzg.me\" target=\"_blank\"&gt;点击这里&lt;/a&gt;&lt;/b&gt; 订阅我的博客 o(∩_∩)o&lt;div class=\"closebox\"&gt;&lt;a href=\"javascript:void(0)\" onclick=\"$('#hellobaby').slideUp('slow');$('.closebox').css('display','none');\" title=\"关闭\"&gt;×&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;";<br />
}<br />
}<br />
2、在主题文件的任何部位调用以下函数，我建议是放在 footer.php 中：</p>
<p>&lt;?php show_refer_in();?&gt;<br />
3、接下来样式部分仅供参考：</p>
<p>#hellobaby {<br />
background:#000000;<br />
border:1px solid #B3B3B3;<br />
color:#FFFFFF;<br />
font-size:14px;<br />
opacity:0.7;<br />
filter:alpha(opacity=70);<br />
padding:10px;<br />
position:absolute;<br />
right:0;<br />
top:250px;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1408/wordpress-and-welcome-visitors-to-the/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>部分wordpress函数</title>
		<link>http://pzg.me/web/1407/part-of-the-wordpress-function/</link>
		<comments>http://pzg.me/web/1407/part-of-the-wordpress-function/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 00:41:51 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1407</guid>
		<description><![CDATA[set_transient(), get_transient(), delete_transient() 这个函数类似于用于存储检索选项数据库表单的get_options()以及update_options()函数。 他们的主要区别在于，你可以给这个临时API函数传递一个时间参数，作... ]]></description>
			<content:encoded><![CDATA[<p>set_transient(), get_transient(), delete_transient()<br />
这个函数类似于用于存储检索选项数据库表单的get_options()以及update_options()函数。 他们的主要区别在于，你可以给这个临时API函数传递一个时间参数，作为数据库输入的过期日。当参数显示的时间到达之后，输入会被移除。如果你需要缓存数据或查询某个短期时间内的结果，这会是个相当有用的函数。</p>
<p>set_transient的参数：</p>
<p>set_transient($transient, $value, $expiration);<br />
将某个值保留在数据库中一小时：</p>
<p>set_transient('the_name', $special_query_results, 60*60);<br />
结果值：</p>
<p>$value = get_transient('the_name');<br />
WordPress “定时任务”函数</p>
<p>wp_schedule_event(time(), 'hourly', 'my_schedule_hook');<br />
如果你需要定时执行某段代码，像是检查RSS订阅、数据库备份或是重设数据库值等，就可以用到这个函数。</p>
<p>WordPress HTTP API</p>
<p>wp_remote_get( $url, $args = array() );<br />
这是个用于检索网页内容的简单函数。函数把检索结果存储在一个数组里。你不仅可以得到网页的结果内容，还可以获取网页的页头信息和相应代码。</p>
<p>轻松获取RSS 订阅</p>
<p>$feed = fetch_feed( $uri );<br />
fetch_feed是一个用来获取订阅内容的简单WordPress函数。这个函数可以检索、分析并自动缓存订阅内容。</p>
<p>WordPress邮件函数</p>
<p>wp_mail()  wp_mail( $to, $subject, $message, $headers, $attachments );<br />
示例：</p>
<p>Example:   <br />
$to = 'Example@Example.com'; <br />
$subject = 'Hello！'; <br />
$message = 'This message was sent by wordpress'   <br />
$mail = wp_mail($to, $subject, $message);   <br />
if($mail) echo 'Mail delivered';<br />
相当简单实用的函数，利用这个函数你可以发送页头信息和附件、普通文本、HTML信息以及其他各种选项。</p>
<p>计时函数</p>
<p>human_time_diff( $from, $to )<br />
这个函数显示出的时间效果不是普通的时间格式，而是“XXX发布于XXX小时前”这样。</p>
<p>WordPress get_comments函数</p>
<p>get_comments()<br />
在评论循环外检索评论内容。</p>
<p>字符串验证</p>
<p>wp_kses($string, $allowed_html, $allowed_protocols);<br />
如果你需要过滤不受信任的用户输入内容，wp_kses会是个很实用的函数。这个函数确保$string中只出现经许可的HTML元素名称、属性和属性值以及正常的HTML实体。</p>
<p>WordPress文本转换</p>
<p>wptexturize()<br />
这个函数把常用的字符串转换成印刷时采用的正确符号，比如破折号、省略号等，有时也会为某些段落加上排版引号。</p>
<p>wpautop()<br />
给字符串添加&lt;p&gt;标签</p>
<p>WordPress短码API</p>
<p>add_shortcode(), do_shortcode()<br />
add_shortcode()可以快速为你的日志内容创建宏。假设你希望把日志里的某些内容包围在一个div块里，并且加上若干类和id，让你可以创建多个内容栏。你可以用HTML编辑器进行编辑，然后输入下面的内容：</p>
<p>&lt;div class='one_third'&gt;内容&lt;/div&gt;<br />
用PHP函数生成WordPress日志wp_insert_post() 这个函数在数据库中插入文章页面和自定义文章类型。它会过滤变量并执行检查，补充日期/时间等缺失变量。如果用户可以通过你的网站前台提交内容，这个函数会相当有帮助。</p>
<p>用PHP函数生成WordPress评论</p>
<p>wp_insert_comment()<br />
和wp_insert_posts类似，不过wp_insert_comment插入的是评论。</p>
<p>WordPress对象缓存</p>
<p>wp_cache_add(),  wp_cache_set(),  wp_cache_get(),  wp_cache_delete, wp_cache_replace(), wp_cache_flush<br />
WP_Object_Cache是WordPress中用以缓存数据的类。</p>
<p>禁止执行WordPress任务</p>
<p>wp_die()<br />
wp_die终止WordPress运行，显示HTML错误信息。</p>
<p>这个函数与PHP函数die()互为补充。HTML信息显示给用户。推荐仅在进程不能再继续时才使用该函数。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1407/part-of-the-wordpress-function/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress实现投稿功能</title>
		<link>http://pzg.me/web/1389/wordpress-submission-feature-to-achieve/</link>
		<comments>http://pzg.me/web/1389/wordpress-submission-feature-to-achieve/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 02:50:09 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1389</guid>
		<description><![CDATA[很多网站都想开放读者的投稿功能，接受读者的投稿，不仅可以丰富博客的内容，还可以增加与读者之间的沟通，可以说是一举多得的事情，何乐不为呢？WordPress本身并不提供投稿功能，但是Wo... ]]></description>
			<content:encoded><![CDATA[<p>很多网站都想开放读者的投稿功能，接受读者的投稿，不仅可以丰富博客的内容，还可以增加与读者之间的沟通，可以说是一举多得的事情，何乐不为呢？WordPress本身并不提供投稿功能，但是WordPress拥有强大的扩展能力，我们可以自己来添加这个功能。</p>
<p>实现用户投稿，有两种方法，一种是开放后台的注册功能，普通用户注册进去默认为投稿者，登陆进去即可添加文章（默认为草稿）；另一种方法是在前台提供投稿表单，用户填写相应的表格即可。前一种方法实现起来比较简单，基本不需要博主配置太多东西，只是有些博主可能会觉得别扭，不愿让他人看到自己的博客后台；而后一种方法对投稿者来说方便了很多，博主也不用担心自己博客的后台隐私，只是该方法实现起来比较麻烦，需要配置的东西很多。本文也只将介绍后一种方法，希望对你有所帮助。</p>
<p>一、添加投稿表单</p>
<p>1、首先在当前主题的目录下新建一个php文件，命名为tougao-page.php，然后将page.php中的所有代码复制到tougao-page.php中；</p>
<p>2、删除tougao-page.php开头的所有注释，即 /* 与 */ ，以及它们之间的所有内容；</p>
<p>3、将 &lt;?php the_content(); ?&gt; 改成以下代码：</p>
<p>&lt;?php the_content(); ?&gt;</p>
<p>&lt;form method="post" action="&lt;?php echo $_SERVER["REQUEST_URI"]; ?&gt;"&gt;<br />
    &lt;div style="text-align: left; padding-top: 10px;"&gt;<br />
        &lt;label&gt;昵称:*&lt;/label&gt;<br />
    &lt;/div&gt;<br />
    &lt;div&gt;<br />
        &lt;input type="text" size="40" value="" name="tougao_authorname" /&gt;<br />
    &lt;/div&gt;</p>
<p>    &lt;div style="text-align: left; padding-top: 10px;"&gt;<br />
        &lt;label&gt;E-Mail:*&lt;/label&gt;<br />
    &lt;/div&gt;<br />
    &lt;div&gt;<br />
        &lt;input type="text" size="40" value="" name="tougao_authoremail" /&gt;<br />
    &lt;/div&gt;<br />
                   <br />
    &lt;div style="text-align: left; padding-top: 10px;"&gt;<br />
        &lt;label&gt;您的博客:&lt;/label&gt;<br />
    &lt;/div&gt;<br />
    &lt;div&gt;<br />
        &lt;input type="text" size="40" value="" name="tougao_authorblog" /&gt;<br />
    &lt;/div&gt;<br />
                   <br />
    &lt;div style="text-align: left; padding-top: 10px;"&gt;<br />
        &lt;label&gt;文章标题:*&lt;/label&gt;<br />
    &lt;/div&gt;<br />
    &lt;div&gt;<br />
        &lt;input type="text" size="40" value="" name="tougao_title" /&gt;<br />
    &lt;/div&gt;</p>
<p>    &lt;div style="text-align: left; padding-top: 10px;"&gt;<br />
        &lt;label&gt;分类:*&lt;/label&gt;<br />
    &lt;/div&gt;<br />
    &lt;div style="text-align: left;"&gt;<br />
        &lt;?php wp_dropdown_categories('show_count=1&amp;hierarchical=1'); ?&gt;<br />
    &lt;/div&gt;<br />
                   <br />
    &lt;div style="text-align: left; padding-top: 10px;"&gt;<br />
        &lt;label&gt;文章内容:*&lt;/label&gt;<br />
    &lt;/div&gt;<br />
    &lt;div&gt;<br />
        &lt;textarea rows="15" cols="55" name="tougao_content"&gt;&lt;/textarea&gt;<br />
    &lt;/div&gt;<br />
                   <br />
    &lt;br clear="all"&gt;<br />
    &lt;div style="text-align: center; padding-top: 10px;"&gt;<br />
        &lt;input type="hidden" value="send" name="tougao_form" /&gt;<br />
        &lt;input type="submit" value="提交" /&gt;<br />
        &lt;input type="reset" value="重填" /&gt;<br />
    &lt;/div&gt;<br />
&lt;/form&gt;</p>
<p>二、添加表单处理代码</p>
<p>在tougao-page.php中，将第一个 &lt;?php 改成:</p>
<p>&lt;?php<br />
   <br />
if( isset($_POST['tougao_form']) &amp;&amp; $_POST['tougao_form'] == 'send')<br />
{<br />
    if ( isset($_COOKIE["tougao"]) &amp;&amp; ( time() - $_COOKIE["tougao"] ) &lt; 120 )<br />
    {<br />
        wp_die('您投稿也太勤快了吧，先歇会儿！');<br />
    }<br />
       <br />
    // 表单变量初始化<br />
    $name = isset( $_POST['tougao_authorname'] ) ? trim(htmlspecialchars($_POST['tougao_authorname'], ENT_QUOTES)) : '';<br />
    $email =  isset( $_POST['tougao_authoremail'] ) ? trim(htmlspecialchars($_POST['tougao_authoremail'], ENT_QUOTES)) : '';<br />
    $blog =  isset( $_POST['tougao_authorblog'] ) ? trim(htmlspecialchars($_POST['tougao_authorblog'], ENT_QUOTES)) : '';<br />
    $title =  isset( $_POST['tougao_title'] ) ? trim(htmlspecialchars($_POST['tougao_title'], ENT_QUOTES)) : '';<br />
    $category =  isset( $_POST['cat'] ) ? (int)$_POST['cat'] : 0;<br />
    $content =  isset( $_POST['tougao_content'] ) ? trim(htmlspecialchars($_POST['tougao_content'], ENT_QUOTES)) : '';<br />
   <br />
    // 表单项数据验证<br />
    if ( empty($name) || strlen($name) &gt; 20 )<br />
    {<br />
        wp_die('昵称必须填写，且长度不得超过20字');<br />
    }<br />
   <br />
    if ( empty($email) || strlen($email) &gt; 60 || !preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $email))<br />
    {<br />
        wp_die('Email必须填写，且长度不得超过60字，必须符合Email格式');<br />
    }<br />
   <br />
    if ( empty($title) || strlen($title) &gt; 100 )<br />
    {<br />
        wp_die('标题必须填写，且长度不得超过100字');<br />
    }<br />
   <br />
    if ( empty($content) || strlen($content) &gt; 3000 || strlen($content) &lt; 100)<br />
    {<br />
        wp_die('内容必须填写，且长度不得超过3000字，不得少于100字');<br />
    }<br />
   <br />
    $post_content = '昵称: '.$name.'&lt;br /&gt;Email: '.$email.'&lt;br /&gt;blog: '.$blog.'&lt;br /&gt;内容:'.$content;<br />
 <br />
    $tougao = array(<br />
        'post_title' =&gt; $title,<br />
        'post_content' =&gt; $post_content,<br />
        'post_category' =&gt; array($category)<br />
    );<br />
    // 将文章插入数据库<br />
    $status = wp_insert_post( $tougao );<br />
 <br />
    if ($status != 0)<br />
    {<br />
        setcookie("tougao", time(), time()+180);<br />
        wp_die('投稿成功！感谢投稿！');<br />
    }<br />
    else<br />
    {<br />
        wp_die('投稿失败！');<br />
    }<br />
}<br />
代码补充说明，如果你想让让投稿的文章立即发布，而不需要审核再编辑，那么请将以上代码45行改成：</p>
<p>'post_content' =&gt; $post_content, 'post_status' =&gt; 'publish',<br />
最后进入WordPress管理后台 – 页面 – 创建页面，标题为投稿（可以自己起名），内容填上投稿说明等，右侧可以选择模板，选择 tougao 即可好了，基本的投稿功能已经添加完毕，至于表单样式不好看，表单缺少你想要的项目等问题，你就自己添加css、表单项吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1389/wordpress-submission-feature-to-achieve/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>微软正式终结Live Spaces 集体迁移WordPress</title>
		<link>http://pzg.me/net/1381/microsoft-live-spaces-official-end-of-the-mass-migration-of-wordpress/</link>
		<comments>http://pzg.me/net/1381/microsoft-live-spaces-official-end-of-the-mass-migration-of-wordpress/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 07:56:11 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网络感想]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1381</guid>
		<description><![CDATA[微软终于放弃竞争博客平台市场，将于即日起鼓励原Windows Live Spaces的使用者，将博客转移至合作伙伴WordPress.com的博客系统。 微软与Automattic Inc.于周一宣布共同合作案，微软表示将关闭Windows Liv... ]]></description>
			<content:encoded><![CDATA[<p>微软终于放弃竞争博客平台市场，将于即日起鼓励原Windows Live Spaces的使用者，将博客转移至合作伙伴WordPress.com的博客系统。</p>
<p>微软与Automattic Inc.于周一宣布共同合作案，微软表示将关闭Windows Live Spaces博客平台，塬使用者可将Live Spaces上的博客转移至WordPress.com上，Live Spaces预计将于6个月后，也就是2011年3月正式关闭。</p>
<p>截至今年6月，WordPress.com上已经有1，140万余个博客，而这一次的合作案，预计将顺利取代约300万余个博客。</p>
<p>谈到Windows Live Spaces，约在2006年底宣佈推出，市场上一般认为是MSN Spaces的復出，几乎可说是微软社交网路平台的基础，微软也企图将众多社交服务如网路硬盘、博客、通讯状态等，集合在Live Spaces上。</p>
<p>尽管如此，但去年6月微软Tony East表示：「尽管Spaces仍然是全球最受欢迎的博客平台，却已经发现愈来愈少使用者撰写博客，甚至是花时间开设一个博客，反而有愈来愈多人乐于去分享一个简短的状态讯息（比如twitter）、照片，或是值得分享的网页链接，而不再花时间写一篇较长的博客文章。」</p>
<p>现在，微软Dharmesh Metha则明白表示：「当我们在检测使用者在博客方面的需求，以及其它博客平台的功能时，便对WordPress.com特别感到兴趣，尤其他们已经达到相当惊人的规模－WordPress平台已经代管了260万个博客网站，等于全世界网页量的8.5%，每月将近有2.5亿次阅读量。不仅如此，Automattic（WordPress.com的母公司）倾全力为使用者创造最佳的博客经验。因此，与其继续投资Live Spaces服务不断与其它博客平台竞争，我们决定真的为使用者着想，提供他们最好的博客系统－WordPress.com。」</p>
<p>目前使用者一登入Live Spaces网站，迎面而来是微软官方的转移公告，使用者有3种选项，一是转移原有的Live Spaces网站至WordPress.com，或是下载博客的备份档案，要不然就是干脆删除整个博客</p>
<p>微软表示，目前为止Live Spaces仍然能正常使用，但从明年1月开始，便无法在Live Spaces继续新增或编删文章，直到2011年3月，便会删除全部没有完成移转的Live Spaces博客。</p>
<p>然而，微软公告也明白指出，仅仅只能转移Live Spaces的博客文章，并不会转移草稿文章、网页背景主题、小工具、访客留言和清单。换句话说，文章留言将会随着转移平台的过程中消失。</p>
<p>根据测试，所备份下来的Live Spaces网站仅仅只有文章内容本文而已，并没有备份访客留言。不过在实际将Live Spaces博客转移至WordPress.com时，仍能够顺利保留文章访客留言无误。根据微软与Automattic的合作协议，MSN与WordPress也会打通。另外，WordPress将会成为Windows Live Essentials 2011的默认博客平台，该软件将于今年晚期推出。</p>
<p>微软放弃博客平台引发业内人士的争议。此举证明微软放弃在社交媒体领域建立自己的领地，后期将采用 Windows Live 帐户与各社交平台互通的方式发展。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/net/1381/microsoft-live-spaces-official-end-of-the-mass-migration-of-wordpress/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>WordPress社区外挂BuddyPress</title>
		<link>http://pzg.me/web/1379/wordpress-plugin-buddypress-community/</link>
		<comments>http://pzg.me/web/1379/wordpress-plugin-buddypress-community/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 00:38:03 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1379</guid>
		<description><![CDATA[很多架站软件都可以让你的网站变成完整的社群网站，其中最常见的就是Discuz论坛系统，透过他并搭配UCHome就可以让网站变成一个小型的社群网站，就跟Facebook一样可以有相簿、个人信息、博客... ]]></description>
			<content:encoded><![CDATA[<p>很多架站软件都可以让你的网站变成完整的社群网站，其中最常见的就是Discuz论坛系统，透过他并搭配UCHome就可以让网站变成一个小型的社群网站，就跟Facebook一样可以有相簿、个人信息、博客、加好友等等，很方便。但你知道吗？世界上最多人使用的博客系统WordPress也可以摇身一变成为社群网站！</p>
<p>BuddyPress是WordPress MU的一个外挂，后来被WordPress买下来了，感觉就是要强大WordPress的社群功能，由官方接手开发吧！不过别担心，这个外挂和WordPress一样都使是免费的，只要你安装了WordPress并启动MU功能就可以安装这个社群网站外挂，让你的网站也可以成为热闹的社群系统。</p>
<p>越来越多网站走向社群平台，就连WordPress也迈向这一块市场，虽说WordPress本身会员机制很阳春，不过搭配上BuddyPress倒是可以增强一下下，实际上还是有别于论坛或是CMS系统的会员机制，只能透过外挂来加强或是期待未来官方可以着手于会员系统的开发、强化。</p>
<p>这个BuddyPress是一款WordPress的外挂系统，必须搭配WordPress MU才可以使用。安装完外挂后会提供您一个互动的社群平台，可以建立群组（小圈圈）、发表个人即时讯息状态、私人短讯、个人名片、发表讨论主题（附有讨论区功能），若有启动博客功能，每个用户还可以拥有个人博客，只要有新文章发表都会显示在讨论区上面或是个人状态。如果弄成功的话，就会像WordPress.com这个网站一样喔！</p>
<p>插件名称：BuddyPress</p>
<p>官方网站：http://buddypress.org/</p>
<p>备注事项：需先安装WordPress并启动WordPress MU功能。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1379/wordpress-plugin-buddypress-community/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>WordPress代码实现相关文章的几种方法</title>
		<link>http://pzg.me/web/1349/wordpress-code-in-several-ways-to-achieve-related-articles/</link>
		<comments>http://pzg.me/web/1349/wordpress-code-in-several-ways-to-achieve-related-articles/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 02:57:53 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1349</guid>
		<description><![CDATA[     WordPress有很多实现相关文章功能的插件，插件的优点是配置简单，但是可能会对网站的速度造成一些小的影响，所以很多人还是比较喜欢用代码实现需要的功能，但是话又说回来了，代... ]]></description>
			<content:encoded><![CDATA[<p>     WordPress有很多实现相关文章功能的插件，插件的优点是配置简单，但是可能会对网站的速度造成一些小的影响，所以很多人还是比较喜欢用代码实现需要的功能，但是话又说回来了，代码实现也有缺点，就是配置复杂，不懂代码的人完全摸不着头脑或者只能照搬别人的代码，还不如用插件。</p>
<p>     这里我整理编写了几种用代码实现相关文章的方法，这其中会详细标明各部分代码的作用，以及如何自定义你想要的功能，希望对大家有所帮助，有什么问题可以给本文发表评论，我会及时给你回复。开始之前，说明一点，以下所有方法输出的HTML代码格式都是以下形式，你可以根据需要进行修改：</p>
<p> &lt;ul id="xxx"&gt;<br />
    &lt;li&gt;* &lt;a title="文章标题1" rel="bookmark" href="文章链接1"&gt;文章标题1&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;* &lt;a title="文章标题2" rel="bookmark" href="文章链接2"&gt;文章标题2&lt;/a&gt;&lt;/li&gt;<br />
    ......<br />
&lt;/ul&gt;<span id="more-1349"></span></p>
<p>方法一：标签相关<br />
     首先获取文章的所有标签，接着获取这些标签下的 n 篇文章，那么这 n 篇文章就是与该文章相关的文章了。现在可以见到的WordPress相关文章插件都是使用的这个方法。下面是实现的代码：</p>
<p> &lt;ul id="tags_related"&gt;<br />
&lt;?php<br />
$post_tags = wp_get_post_tags($post-&gt;ID);<br />
if ($post_tags) {</p>
<p>foreach ($post_tags as $tag)<br />
{<br />
    // 获取标签列表<br />
    $tag_list[] .= $tag-&gt;term_id;<br />
}</p>
<p>// 随机获取标签列表中的一个标签<br />
$post_tag = $tag_list[ mt_rand(0, count($tag_list) - 1) ];</p>
<p>// 该方法使用 query_posts() 函数来调用相关文章，以下是参数列表<br />
$args = array(<br />
        'tag__in' =&gt; array($post_tag),<br />
        'category__not_in' =&gt; array(NULL),      // 不包括的分类ID<br />
        'post__not_in' =&gt; array($post-&gt;ID),<br />
        'showposts' =&gt; 6,               // 显示相关文章数量<br />
        'caller_get_posts' =&gt; 1<br />
    );<br />
query_posts($args);</p>
<p>if (have_posts()) :<br />
    while (have_posts()) : the_post(); update_post_caches($posts); ?&gt;<br />
&lt;li&gt;* &lt;a href="&lt;?php the_permalink(); ?&gt;" rel="bookmark" title="&lt;?php the_title_attribute(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; else : ?&gt;<br />
    &lt;li&gt;* 暂无相关文章&lt;/li&gt;<br />
&lt;?php endif; wp_reset_query(); } ?&gt;<br />
&lt;/ul&gt;</p>
<p>     使用说明：”不包括的分类ID” 指的是相关文章不显示该分类下的文章，将同行的 NULL 改成文章分类的ID即可，多个ID就用半角逗号隔开。因为这里限制只显示6篇相关文章，所以不管给 query_posts() 的参数 tag__in 赋多少个值，都是只显示一个标签下的 6 篇文章，除非第一个标签有1篇，第二个标签有2篇，第三个有3篇。。。。。。所以如果这篇文章有多个标签，那么我们采取的做法是随机获取一个标签的id，赋值给 tag__in 这个参数，获取该标签下的6篇文章。</p>
<p>方法二：分类相关<br />
     本方法是通过获取该文章的分类id，然后获取该分类下的文章，来达到获取相关文章的目的。</p>
<p> &lt;ul id="cat_related"&gt;<br />
&lt;?php<br />
$cats = wp_get_post_categories($post-&gt;ID);<br />
if ($cats) {</p>
<p>$cat = get_category( $cats[0] );<br />
$first_cat = $cat-&gt;cat_ID;<br />
$args = array(<br />
        'category__in' =&gt; array($first_cat),<br />
        'post__not_in' =&gt; array($post-&gt;ID),<br />
        'showposts' =&gt; 6,<br />
        'caller_get_posts' =&gt; 1<br />
    );<br />
query_posts($args);</p>
<p>if (have_posts()) :<br />
    while (have_posts()) : the_post(); update_post_caches($posts); ?&gt;<br />
&lt;li&gt;* &lt;a href="&lt;?php the_permalink(); ?&gt;" rel="bookmark" title="&lt;?php the_title_attribute(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; else : ?&gt;<br />
&lt;li&gt;* 暂无相关文章&lt;/li&gt;<br />
&lt;?php endif; wp_reset_query(); } ?&gt;<br />
&lt;/ul&gt;</p>
<p>方法三：标签相关，SQL获取<br />
     获取相关文章的原理与方法一相似，不过在获取文章的时候是以SQL语句来直接读取数据库，从而随机获取6篇相关文章记录，而不是WordPress的函数query_posts().</p>
<p> &lt;ul id="tags_related"&gt;<br />
&lt;?php<br />
$post_tags = wp_get_post_tags($post-&gt;ID);<br />
if ($post_tags) {</p>
<p>foreach ($post_tags as $tag)<br />
{<br />
    // 获取标签列表<br />
    $tag_list[] .= $tag-&gt;term_id;<br />
}</p>
<p>// 随机获取标签列表中的一个标签<br />
$post_tag = $tag_list[ mt_rand(0, count($tag_list) - 1) ];</p>
<p>$related = $wpdb-&gt;get_results("<br />
SELECT {$wpdb-&gt;prefix}posts.post_title, {$wpdb-&gt;prefix}posts.guid<br />
FROM {$wpdb-&gt;prefix}posts, {$wpdb-&gt;prefix}term_relationships, {$wpdb-&gt;prefix}term_taxonomy<br />
WHERE {$wpdb-&gt;prefix}posts.ID = {$wpdb-&gt;prefix}term_relationships.object_id<br />
AND {$wpdb-&gt;prefix}term_taxonomy.taxonomy = 'post_tag'<br />
AND {$wpdb-&gt;prefix}term_taxonomy.term_taxonomy_id = {$wpdb-&gt;prefix}term_relationships.term_taxonomy_id<br />
AND {$wpdb-&gt;prefix}posts.post_status = 'publish'<br />
AND {$wpdb-&gt;prefix}posts.post_type = 'post'<br />
AND {$wpdb-&gt;prefix}term_taxonomy.term_id = '" . $post_tag . "'<br />
AND {$wpdb-&gt;prefix}posts.ID != '" . $post-&gt;ID . "'<br />
ORDER BY RAND( )<br />
LIMIT 6");<br />
// 以上代码中的 6 为限制只获取6篇相关文章<br />
// 通过修改数字 6，可修改你想要的文章数量<br />
if ( $related ) {<br />
    foreach ($related as $related_post) {<br />
?&gt;<br />
    &lt;li&gt;* &lt;a href="&lt;?php echo $related_post-&gt;guid; ?&gt;" rel="bookmark" title="&lt;?php echo $related_post-&gt;post_title; ?&gt;"&gt;&lt;?php echo $related_post-&gt;post_title; ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php  } } else { ?&gt;<br />
    &lt;li&gt;* 暂无相关文章&lt;/li&gt;<br />
&lt;?php } }?&gt;<br />
&lt;/ul&gt;</p>
<p>方法四：分类相关，SQL获取<br />
     获取相关文章的原理与方法二相似，不过在获取文章的时候是以SQL语句来直接读取数据库，从而随机获取6篇相关文章记录，而不是WordPress的函数query_posts().</p>
<p> &lt;ul id="cat_related"&gt;<br />
&lt;?php<br />
$cats = wp_get_post_categories($post-&gt;ID);<br />
if ($cats) {</p>
<p>$cat = get_category( $cats[0] );<br />
$first_cat = $cat-&gt;cat_ID;</p>
<p>$related = $wpdb-&gt;get_results("<br />
SELECT wp_posts.post_title, wp_posts.guid<br />
FROM wp_posts, wp_term_relationships, wp_term_taxonomy<br />
WHERE wp_posts.ID = wp_term_relationships.object_id<br />
AND {$wpdb-&gt;prefix}term_taxonomy.taxonomy = 'category'<br />
AND {$wpdb-&gt;prefix}term_taxonomy.term_taxonomy_id = {$wpdb-&gt;prefix}term_relationships.term_taxonomy_id<br />
AND {$wpdb-&gt;prefix}posts.post_status = 'publish'<br />
AND {$wpdb-&gt;prefix}posts.post_type = 'post'<br />
AND {$wpdb-&gt;prefix}term_taxonomy.term_id = '" . $first_cat . "'<br />
AND {$wpdb-&gt;prefix}posts.ID != '" . $post-&gt;ID . "'<br />
ORDER BY RAND( )<br />
LIMIT 6");</p>
<p>if ( $related ) {<br />
    foreach ($related as $related_post) {<br />
?&gt;<br />
    &lt;li&gt;* &lt;a href="&lt;?php echo $related_post-&gt;guid; ?&gt;" rel="bookmark" title="&lt;?php echo $related_post-&gt;post_title; ?&gt;"&gt;&lt;?php echo $related_post-&gt;post_title; ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php  } } else { ?&gt;<br />
    &lt;li&gt;* 暂无相关文章&lt;/li&gt;<br />
&lt;?php } }?&gt;<br />
&lt;/ul&gt;</p>
<p>方法无：作者相关<br />
该方法是获取该文章作者的其他文章来充当相关文章，代码如下：</p>
<p> &lt;ul id="author_related"&gt;<br />
&lt;?php<br />
$post_author = get_the_author_meta( 'user_login' );<br />
$args = array(<br />
        'author_name' =&gt; $post_author,<br />
        'post__not_in' =&gt; array($post-&gt;ID),<br />
        'showposts' =&gt; 6,               // 显示相关文章数量<br />
        'orderby' =&gt; date,          // 按时间排序<br />
        'caller_get_posts' =&gt; 1<br />
    );<br />
query_posts($args);</p>
<p>if (have_posts()) :<br />
    while (have_posts()) : the_post(); update_post_caches($posts); ?&gt;<br />
&lt;li&gt;* &lt;a href="&lt;?php the_permalink(); ?&gt;" rel="bookmark" title="&lt;?php the_title_attribute(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; else : ?&gt;<br />
    &lt;li&gt;* 暂无相关文章&lt;/li&gt;<br />
&lt;?php endif; wp_reset_query();  ?&gt;<br />
&lt;/ul&gt;</p>
<p>时间效率对比<br />
     我们将用之前的一个php代码对以上各个相关文章代码执行时间进行测算，以便对以上各个的方法进行效率，给你的选择提供参考。以下是在同一篇文章中获取6篇相关文章，以上各方法最终测算的时间如下：</p>
<p>     方法一：0.18067908287048 秒<br />
     方法二：0.057158946990967 秒<br />
     方法三：0.037126064300537 秒<br />
     方法四：0.045628070831299 秒<br />
     方法五：0.023991823196411 秒</p>
<p><!--more--></p>
<p>本文版权归露兜博客所有，转载请完整注明以下信息：<br />
本文作者：Ludou<br />
本文标题：WordPress代码实现相关文章的几种方法<br />
本文地址：<a title="WordPress代码实现相关文章的几种方法 - 露兜博客" href="http://www.ludou.org/how-to-generate-related-posts-in-wordpress.html">http://www.ludou.org/how-to-generate-related-posts-in-wordpress.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1349/wordpress-code-in-several-ways-to-achieve-related-articles/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>禁用WordPress 3.0自动草稿存档</title>
		<link>http://pzg.me/web/1335/disable-wordpress-3-0-automatic-draft-archive/</link>
		<comments>http://pzg.me/web/1335/disable-wordpress-3-0-automatic-draft-archive/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 00:19:08 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1335</guid>
		<description><![CDATA[解决WorPress 3.0.1自动草稿的方法是：依旧启用原先的disable revisions and autosave插件，然后编辑wp-admin/includes/post.php文件，在if ( $create_in_db ) {语句之前加入一行$create_in_db = false; 语句，经过实际测试... ]]></description>
			<content:encoded><![CDATA[<p>解决WorPress 3.0.1自动草稿的方法是：依旧启用原先的disable revisions and autosave插件，然后编辑wp-admin/includes/post.php文件，在if ( $create_in_db ) {语句之前加入一行$create_in_db = false; 语句，经过实际测试，增加了这一行之后，新建日志，数据库就不会出现一篇自动存档的草稿了。</p>
<p>　　但是这种修改WordPress源代码的方法是很不好的，这会导致以后每次WordPress升级，都需要维护修改一次，工作量会越来越大，不如用插件的方式解决，可惜目前实在找不到如何使用插件来解决这个问题，要是WordPress下一个版本能官方解决就好了。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1335/disable-wordpress-3-0-automatic-draft-archive/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>百度博客RPC服务地址</title>
		<link>http://pzg.me/web/1322/baidu-blog-rpc-service-address/</link>
		<comments>http://pzg.me/web/1322/baidu-blog-rpc-service-address/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 05:53:46 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[PRC]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1322</guid>
		<description><![CDATA[记得刚开始使用wordpress的时候经常看到刚发表完的文章google就马上收录，后来了解到，wordpress有一个更新服务，官方则给了一个RPC的列表，把这个列表写在后台即可，这样就可以做到实时更新... ]]></description>
			<content:encoded><![CDATA[<p>记得刚开始使用wordpress的时候经常看到刚发表完的文章google就马上收录，后来了解到，wordpress有一个更新服务，官方则给了一个RPC的列表，把这个列表写在后台即可，这样就可以做到实时更新博客内容了，我从网上也找到了大量的RPC地址，并且做过几次的修改，把有用的留下，失效的剔除，但是百度我一直没有找到这个RPC地址的，今天抽空把百度的搜索引擎优化指南给看了，发现这里写出了百度的PRC地址，我很高兴的加进了我的博客，并且和大家分享下。</p>
<p>百度PRC地址：http://ping.baidu.com/ping/RPC2</p>
<p>另外经常我长时间的整理，我也拥有一份很强的RPC列表，共收录52个地址，可以算是<strong>最强的wordpress PRC地址列表</strong>了。这里我也共享出来。<span id="more-1322"></span></p>
<p>http://rpc.pingomatic.com</p>
<p>http://blogsearch.google.com/ping/RPC2</p>
<p>http://ping.baidu.com/ping/RPC2</p>
<p>http://blogsearch.google.com/ping</p>
<p>http://api.feedster.com/ping</p>
<p>http://api.moreover.com/RPC2</p>
<p>http://api.moreover.com/ping</p>
<p>http://api.my.yahoo.com/RPC2</p>
<p>http://api.my.yahoo.com/rss/ping</p>
<p>http://www.blogdigger.com/RPC2</p>
<p>http://www.blogshares.com/rpc.php</p>
<p>http://www.blogsnow.com/ping</p>
<p>http://www.blogstreet.com/xrbin/xmlrpc.cgi</p>
<p>http://bulkfeeds.net/rpc</p>
<p>http://www.newsisfree.com/xmlrpctest.php</p>
<p>http://ping.blo.gs/</p>
<p>http://ping.feedburner.com</p>
<p>http://ping.syndic8.com/xmlrpc.php</p>
<p>http://ping.weblogalot.com/rpc.php</p>
<p>http://rpc.blogrolling.com/pinger/</p>
<p>http://rpc.technorati.com/rpc/ping</p>
<p>http://rpc.weblogs.com/RPC2</p>
<p>http://www.feedsubmitter.com</p>
<p>http://blo.gs/ping.php</p>
<p>http://www.pingerati.net</p>
<p>http://www.pingmyblog.com</p>
<p>http://geourl.org/ping</p>
<p>http://ipings.com</p>
<p>http://www.weblogalot.com/ping</p>
<p>http://www.azfeeds.com</p>
<p>http://www.blogsearchengine.com</p>
<p>http://www.blogtopsites.com</p>
<p>http://www.feedbase.net</p>
<p>http://www.fybersearch.com</p>
<p>http://www.plazoo.com</p>
<p>http://www.readablog.com</p>
<p>http://www.rssfeeds.com</p>
<p>http://www.rssmad.com</p>
<p>http://www.rss-spider.com</p>
<p>http://www.icerocket.com</p>
<p>http://ping.bitacoras.com</p>
<p>http://rpc.icerocket.com:10080/</p>
<p>http://topicexchange.com/RPC2</p>
<p>http://www.blogoole.com/ping/</p>
<p>http://www.popdex.com/addsite.php</p>
<p>http://www.wasalive.com/ping/</p>
<p>http://www.weblogues.com/RPC/</p>
<p>http://blogping.unidatum.com/RPC2/</p>
<p>http://www.xianguo.com/xmlrpc/ping.php</p>
<p>http://www.zhuaxia.com/rpc/server.php</p>
<p>http://blog.youdao.com/ping/RPC2</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1322/baidu-blog-rpc-service-address/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>主题添加导航菜单</title>
		<link>http://pzg.me/web/1304/add-topic-navigation-menu/</link>
		<comments>http://pzg.me/web/1304/add-topic-navigation-menu/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 08:10:42 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1304</guid>
		<description><![CDATA[wordpress3.0以后就默认支持了menus功能，刚开始看到一些主题是提前支持菜单功能的，这次自己也给主题添加上了菜单功能，加上这个功能后主题就是适用于3.0以后的版本了。 给主题添加menu功能... ]]></description>
			<content:encoded><![CDATA[<p>wordpress3.0以后就默认支持了menus功能，刚开始看到一些主题是提前支持菜单功能的，这次自己也给主题添加上了菜单功能，加上这个功能后主题就是适用于3.0以后的版本了。</p>
<p>给主题添加menu功能主要是两部分，一个是在functions.php文件里面添加注册menu，另一个是在header.php文件里添加menu列表。</p>
<p>functions.php</p>
<p>里面添加</p>
<p>&lt;?php register_nav_menus(array('primary' =&gt; 'Primary Navigation')); ?&gt;</p>
<p>header.php</p>
<p>里面添加</p>
<p>&lt;?php wp_nav_menu(); ?&gt;</p>
<p>这样一个就可以支持新的menu功能了。</p>
<p>更详细的方法可以参考neoease的WordPress 3.0 导航菜单 使用篇和开发篇。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1304/add-topic-navigation-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wordpress3.01简体中文版</title>
		<link>http://pzg.me/web/1288/wordpress3-01-simplified-chinese/</link>
		<comments>http://pzg.me/web/1288/wordpress3-01-simplified-chinese/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 22:16:43 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1288</guid>
		<description><![CDATA[WordPress 是一个注重美学、易用性和网络标准的个人信息发布平台。WordPress 虽为免费的开源软件，但其价值无法用金钱来衡量。使用 WordPress 可以搭建功能强大的网络信息发布平台，但更多的是... ]]></description>
			<content:encoded><![CDATA[<p>WordPress 是一个注重美学、易用性和网络标准的个人信息发布平台。WordPress 虽为免费的开源软件，但其价值无法用金钱来衡量。使用 WordPress 可以搭建功能强大的网络信息发布平台，但更多的是应用于个性化的博客。针对博客的应用，WordPress 能让您省却对后台技术的担心，集中精力做好网站的内容。老是说， 3.0.1 英文版本已经出来好久了，汉化版也早就有人提供，经过久久的等待，官方正式的中文版本终于发布</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1288/wordpress3-01-simplified-chinese/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>导航菜单使用教程wp_nav_menu()</title>
		<link>http://pzg.me/web/1280/navigation-menu-tutorial-wp_nav_menu/</link>
		<comments>http://pzg.me/web/1280/navigation-menu-tutorial-wp_nav_menu/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 09:02:32 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1280</guid>
		<description><![CDATA[添加导航菜单和菜单项 你可以创建多个导航菜单，每个菜单里，可以添加自定义链接项、页面项和分类项进去。 添加进去以后，你可以又再编辑每个项目的链接，输出文本和Title属性。 你可以... ]]></description>
			<content:encoded><![CDATA[<p>添加导航菜单和菜单项</p>
<p>你可以创建多个导航菜单，每个菜单里，可以添加自定义链接项、页面项和分类项进去。</p>
<p>添加进去以后，你可以又再编辑每个项目的链接，输出文本和Title属性。</p>
<p>你可以拖拽每个项目来排序菜单项。</p>
<p>3、通过Widget输出导航菜单</p>
<p>添加好菜单后，进入Appearance-》Widgets（外观-》小工具）， 把Navigation Menu这个Widget拖到你的Sidebar模块里，选择一个菜单输出即要。</p>
<p>4、通过手动代码输出导航菜单</p>
<p>如果你的主题不支持Widget或你不想使用Widget，你可以使用函数wp_nav_menu()直接输出导航菜单：</p>
<p>以下为引用的内容：</p>
<p>&lt;?php wp_nav_menu($args); ?&gt;<br />
 </p>
<p><span id="more-1280"></span><br />
该函数可传递一个数组进去，指定该菜单的各项参数，比如调用哪个菜单、如何排序、给菜单指定一个div层等等。具体的各参数取值请见官方说明文档。</p>
<p>当你使用&lt;?php wp_nav_menu(); ?&gt;时，将调用第一个导航菜单。如果你想调用其它菜单，可以通过菜单的id， slug， menu名称来指定：</p>
<p>以下为引用的内容：</p>
<p>&lt;?php wp_nav_menu(array('id'=&gt;5));  ?&gt;<br />
or<br />
&lt;?php wp_nav_menu(array('menu'=&gt;'Test Menu'));  ?&gt;<br />
or<br />
&lt;?php wp_nav_menu(array('slug'=&gt;'testmenu'));  ?&gt;<br />
 <br />
但不知道是beta2还有bug还是我没折腾成功，有几个问题需要注意：</p>
<p>我测试时，使用id并不能成功指定某个菜单。</p>
<p>没有地方指定和寻找菜单的slug。</p>
<p>‘menu’=&gt;’’菜单名称’可用。但当菜单名称使用的是中文，且你手动函数输出菜单的时候，你的模板代码应该是UTF-8或ANSI as UTF-8模式，才能正确的指定某个菜单。但不建议使用中文做为菜单名，中文菜单名还会输出一长串URL编码的字符指定为该菜单的id值，看着特不舒服。</p>
<p>5、CSS样式化菜单风格</p>
<p>下图是我测试的一个菜单输出的html代码，它包含几个外部自定义链接，一篇内部文章的自定义链接，一个分类和一个页面。</p>
<p>我们可以看到，每个菜单项都含有一系列的class选择器：</p>
<p>每个菜单项都含class选择器menu-item</p>
<p>每个菜单项含有菜单类型class选择器： 比如自定义链接项含menu-item-type-custom， 页面项含menu-item-type_post_type， 分类项含menu-item-type-taxonomy</p>
<p>1、页面项含菜单的对象类型class选择器 menu-item-object-page</p>
<p>2、分类项含菜单的对象类型class选择器menu-item-object-category</p>
<p>3、当位置处于当前页面或当前分类的时候，增加一个供高亮样式的class选择器current-menu-item</p>
<p>4、当位置是一篇post文章时，该post如果在菜单中，也会增加高亮class选择器，同时，它所属的分类也会增加高亮class选择器。</p>
<p>所以，我们可以通过这些选择器的不同来进行CSS样式化，比如把页面、分类和自定义链接指定不同的字体颜色，让当前项反色显示等等。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1280/navigation-menu-tutorial-wp_nav_menu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>wordpress的auto-draft功能</title>
		<link>http://pzg.me/web/1224/the-auto-draft-feature-wordpress/</link>
		<comments>http://pzg.me/web/1224/the-auto-draft-feature-wordpress/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 06:27:21 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[网页设计]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1224</guid>
		<description><![CDATA[这个功能auto-draft似乎3.0就已经有了，之所以现在才发现是因为已经对之前的revision功能妥协了，使用ID作为url的同学应该知道，这个功能会让ID不连续，刚开始我还一直和这个功能较量，但是每... ]]></description>
			<content:encoded><![CDATA[<p>这个功能auto-draft似乎3.0就已经有了，之所以现在才发现是因为已经对之前的revision功能妥协了，使用ID作为url的同学应该知道，这个功能会让ID不连续，刚开始我还一直和这个功能较量，但是每次升级似乎都被和谐掉，然后在折腾，最后已经基本妥协了。</p>
<p>revision这个是历史版本功能，意思就是每次修改会保存之前没有修改的版本，但是这个功能应该是很少人会使用的。写文章也不是什么要记录每次修改的地方，何必做的跟科学试验似的呢。</p>
<p>auto-draft是3.0新出来的功能，按照网上的说法这个是在没有任何保存的情况下关闭浏览器存储的自动草稿，这个草稿会定期清除，但是这样会使ID一样不连续。所以现在网上已经开始有人研究干掉这个功能了，我看到的都是一些修改代码的方法，似乎官方并没有出语句可以直接屏蔽功能。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/web/1224/the-auto-draft-feature-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

