<?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>等待喝彩_OnEcho &#187; WordPress高级应用</title>
	<atom:link href="http://www.onecho.com/tag/wordpress%e9%ab%98%e7%ba%a7%e5%ba%94%e7%94%a8/feed" rel="self" type="application/rss+xml" />
	<link>http://www.onecho.com</link>
	<description>http://www.onecho.com  回声的启示</description>
	<lastBuildDate>Fri, 16 Jul 2010 14:18:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[分享]我实践的一些WordPress高级应用</title>
		<link>http://www.onecho.com/2008-09-12/295.html</link>
		<comments>http://www.onecho.com/2008-09-12/295.html#comments</comments>
		<pubDate>Fri, 12 Sep 2008 07:12:19 +0000</pubDate>
		<dc:creator>Kenami</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WordPress高级应用]]></category>

		<guid isPermaLink="false">http://www.onecho.com/?p=295</guid>
		<description><![CDATA[WordPress是开源的PHP博客模板，其可以免费使用的插件成千上万，如果你想要的功能，没能找到合适的插件，其实简单的修改代码也能给你很多惊喜。

1、.htaccess文件修改，让博客更多彩：
合理的运用.htaccess的URL重写功能可以实现WORDPRESS不同分类页面的不同显示，例如本博客首页第一条显示全文，其他文章显示描述内容，全部文章显示文章标题和标签、分类，等...
]]></description>
			<content:encoded><![CDATA[<p>WordPress是开源的PHP博客模板，其可以免费使用的插件成千上万，如果你想要的功能，没能找到合适的插件，其实简单的修改代码也能给你很多惊喜。</p>
<p>1、.htaccess文件修改，让博客更多彩：<br />
合理的运用.htaccess的URL重写功能可以实现WORDPRESS不同分类页面的不同显示，例如本博客首页第一条显示全文，其他文章显示描述内容，全部文章显示文章标题和标签、分类，等&#8230;<br />
这是如何实现的呢？我们先看.htaccess文件</p>
<pre class="ruby" name="code">RewriteEngine On
#404
ErrorDocument 404 /error_404.html
AddDefaultCharset UTF-8
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]
#/2008-09-03/92.html
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)\.html$ /index.php?action=post [L,NS,QSA]
#category/all
RewriteRule ^category/all$ /index.php?action=all [L,NS,QSA]
RewriteRule ^category/all/page/([a-z0-9\-]+)$ /index.php?action=all [L,NS,QSA]
#map
RewriteRule ^map\.html$ /index.php [L]
#/category/uncategorized
RewriteRule ^category/([\w\-\.]+)$ /index.php [L]
#/category/uncategorized/think
RewriteRule ^category/([\w\-\.]+)/([\w\-\.]+)$ /index.php [L]
#/2008/09
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /index.php [L]
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/page/([a-z0-9\-]+)$ /index.php [L]
#/2008/09/03
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)$ /index.php [L]
#tag/
RewriteRule ^tag/(.*)$ /index.php [L]
#feed
RewriteRule ^feed$ /index.php [L]
#comments/feed
RewriteRule ^comments/feed$ /index.php [L]
#about
RewriteRule ^about$ /index.php [L]</pre>
<p><span id="more-295"></span><br />
 以上这段RewriteRule ^category/all$ /index.php?action=all [L,NS,QSA]<br />
及如果ur地址是<a href="http://www.onecho.com/category/all">http://www.onecho.com/category/all</a>的话则跳到/index.php?action=all 页面（WORDPRESS几乎所有文章的页面都是index.php处理的），这样我们就得到了action=all的参数，然后修改index.php文件：</p>
<pre class="ruby" name="code">&lt;?
if ($action == "all") {
 $all_index++;
 $color_on = ($all_index % 2) ? "color_off" : "color_on";
?&gt;
&lt;div class="post_all &lt;?=$color_on?&gt;" id="post-&lt;?php the_ID(); ?&gt;"&gt;
&lt;h3&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" rel="bookmark" &gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="meta"&gt;&lt;?php the_author() ?&gt; 发布于 &lt;?php the_date() ?&gt; &lt;?php the_time() ?&gt; &lt;?php edit_post_link(__('Edit This')); ?&gt; &lt;?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?&gt;&amp;nbsp;&amp;nbsp;阅读：&lt;?php the_views(); ?&gt;&lt;/div&gt;
&lt;p&gt;
 &lt;?php _e("分&amp;nbsp;&amp;nbsp;类："); ?&gt;
 &lt;?php the_category(',') ?&gt;&lt;br /&gt;
 &lt;?php the_tags(__('标&amp;nbsp;&amp;nbsp;签：&amp;nbsp;'), ', ', ''); ?&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;?php
}</pre>
<p>即得到action参数的值，如果等于”all“，我们只显示文章标题和分类、标签等信息。其他的话，我们在现实我们想要的页面。比如只在文章页显示前后页，我们可以这么做：<br />
#/2008-09-03/92.html<br />
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)\.html$ /index.php?action=post [L,NS,QSA]<br />
这时参数action的值为post，我们在php里面这样判断：</p>
<pre class="ruby" name="code">$action = "";
$action = $_GET["action"];
&lt;?php
if ($action == "post") {
?&gt;
&lt;div class="next_link"&gt;
 &lt;table width="100%" bgcolor="#F8F7EF"&gt;
  &lt;tr&gt;
   &lt;td width="10%" align="center"&gt;前一篇: &lt;/td&gt;
   &lt;td&gt;&lt;div style="overflow:hidden;"&gt;&lt;?=!empty($previous_mb) ? $previous_mb : "没有了" ?&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td width="15%" align="center"&gt;后一篇: &lt;/td&gt;
   &lt;td&gt;&lt;div style="overflow:hidden;"&gt;&lt;?=!empty($next_mb) ? $next_mb : "没有了" ?&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;/tr&gt;
 &lt;/table&gt;
&lt;/div&gt;
&lt;?php
 echo "&lt;ul class=\"post_relate\"&gt;&lt;li id=\"related_posts\" class=\"widget\"&gt;";
 wp_related_posts();
 echo "&lt;/li&gt;&lt;/ul&gt;";
}</pre>
<p> 怎么样，只要你想在不同的页面不同显示，就都可以用修改url重写和php文件实现，这里注意对.htaccess和php不熟悉的朋友不要随便修改。</p>
<p>2、自定义字段的应用：</p>
<p>WordPress拥有一个强大的功能<a href="http://codex.wordpress.org/Using_Custom_Fields">custom fields</a> 可以让你灵活的增加很多额外的信息到你的文章里面. Custom fields由一个名称和一个值组成. KEY是自定义字段的名称和你想要给这个名称指定的值.你可以显示此自定义信息到你的日志，页面或是侧边栏或是网站中的任何地方. WordPress能够记住你使用过的自定义字段，当你下次再使用的时候，只需要从下拉菜单中进行选择即可。<br />
 <code> get_post_meta($post_id, $key, $single);</code>&lt;?php echo get_post_meta($post-&gt;ID, &#8216;key name&#8217;,true) ?&gt;<br />
$post-&gt;ID 用来获取日志 ID, $key是一个String类，包含你想使用的meta值名称, 而$single则是用来判断真还是似，也就是True or False。 如果设置为True，该功能将返回一个单一的结果作为字符串。 如果设为False,或者不设置 , 则返回自定义字段的一个数组.</p>
<p>先说这么多，以后我们继续（还会介绍页面样式的美化）&#8230;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onecho.com/2008-09-12/295.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
