<?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>中文HowTO &#187; 自定义</title>
	<atom:link href="http://www.fadesky.com/tag/%e8%87%aa%e5%ae%9a%e4%b9%89/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fadesky.com</link>
	<description>让生活更有价值...</description>
	<lastBuildDate>Tue, 15 Jun 2010 02:55:41 +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自定义 &#8211; 改变默认的Widget</title>
		<link>http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/</link>
		<comments>http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/#comments</comments>
		<pubDate>Sun, 24 Jun 2007 05:37:11 +0000</pubDate>
		<dc:creator>中文HowTO</dc:creator>
				<category><![CDATA[软件网络]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[自定义]]></category>

		<guid isPermaLink="false">http://www.fadesky.com/?p=18</guid>
		<description><![CDATA[  WordPress2.2默认提供了Widget，其中包括“日历”、“分类”、“存档”、“最新文章”、“最新评论”、“链接”、“相关链接”等默认的小插件。此外你还可以自定义文本内容或者RSS，不过，... ]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0pt 1em 0pt 0pt; float: left;" src="http://docs.google.com/File?id=dgwfttn5_79f4b4v7ww">  WordPress2.2默认提供了Widget，其中包括“日历”、“分类”、“存档”、“最新文章”、“最新评论”、“链接”、“相关链接”等默认的小插件。此外你还可以自定义文本内容或者RSS，不过，文本内容目前不支持PHP代码，只能支持HTML/Javascript代码，如果你想把包含PHP的代码片段放到侧边栏的Widget区域中，就需要更改你主题下面的sidebar.php了。</p>
<p><span style="font-weight: bold;">一、在WordPress自带的Widget后面添加自定义的PHP片段：</span></p>
<p>以<a title="Webby-Blue汉化版" target="_blank" href="http://www.thememe.cn">Webby-Blue</a> 为例，打开sidebar.php找到下面的代码：<br />
<blockquote>&lt;?php if ( !function_exists(&#8216;dynamic_sidebar&#8217;) || !dynamic_sidebar() ) : ?&gt;</p></blockquote>
<p>这表示如果不启用默认的Widget的话，会在下面显示sidebar中自定义的widget。</p>
<p>如果你要添加自定义的PHP片段，又想使用WordPress自带的Widget，你可以在sidebar.php最后找到下面的代码：<br />
<blockquote> &lt;?php endif; ?&gt;</p></blockquote>
<p>在这一行的后面，手动把你的PHP代码添加到sidebar.php即可。</p>
<p>【注】：这种办法比起修改widget.php，手动注册自定义Widget来说，更方便一点。<br />缺点是：你只能把自定义的PHP代码段加到默认Widget组的最开头或者最末尾。</p>
<p>其实，也不是不能办到，下面介绍如何增加多个Widget区域。</p>
<p><span style="font-weight: bold;">二、增加WordPress默认的Widget区域：</span></p>
<p>WordPress的Widget是在你主题目录下的functions.php中注册的。<br />以<a title="Webby-Blue汉化版" target="_blank" href="http://www.thememe.cn">Webby-Blue</a> 为例，打开functions.php，会看到如下代码片断：<br />
<blockquote>&lt;?php<br />if ( function_exists(&#8216;register_sidebar&#8217;) )<br />    register_sidebar(array(<br />        &#8216;before_widget&#8217; =&gt; &#8216;&lt;div id=&#8221;%1$s&#8221; class=&#8221;widget %2$s&#8221;&gt;&#8217;,<br />        &#8216;after_widget&#8217; =&gt; &#8216;&lt;/div&gt;&#8217;,<br />        &#8216;before_title&#8217; =&gt; &#8216;&lt;h2 class=&#8221;sidebartitle&#8221;&gt;&#8217;,<br />        &#8216;after_title&#8217; =&gt; &#8216;&lt;/h2&gt;&#8217;,<br />    ));<br />?&gt;</p></blockquote>
<p>把代码片断中的：<br />
<blockquote>register_sidebar(array(&#8230;</p></blockquote>
<p>换为下面的代码：<br />
<blockquote><font color="#6633ff">// 数字2可以换成你想定义的Widget区域的数目。</font><br />register_sidebar<font color="#990000"><span style="font-weight: bold;">s</span></font>(2, array(&#8230;</p></blockquote>
<p><!--adsense--><br />
保存，然后，打开sidebar.php,找到下面的代码片段：<br />
<blockquote>&lt;?php if ( !function_exists(&#8216;dynamic_sidebar&#8217;) || !dynamic_sidebar() ) : ?&gt;<br />&#8230;<br />&lt;?php endif; ?&gt;</p></blockquote>
<p>把它改为：<br />
<blockquote><font color="#6633ff">// 显示第1个Widget组。</font><br />&lt;?php if ( !function_exists(&#8216;dynamic_sidebar&#8217;) || !dynamic_sidebar(1) ) : ?&gt;<br />&#8230;<br />&lt;?php endif; ?&gt;</p></blockquote>
<p>在第1个Widget组显示完以后，你可以接着显示第2组：<br />
<blockquote><font color="#6633ff">// 显示第2个Widget组。</font><br /> &lt;?php if ( !function_exists(&#8216;dynamic_sidebar&#8217;) || !dynamic_sidebar(2) ) : ?&gt;<br />&#8230;<br />&lt;?php endif; ?&gt;</p></blockquote>
<p>保存文件，在后台管理的“模板”->“Widget”页面，可以看到由默认的一个Widget区域显示为2个。你可以从下面的“当前可用的 Widgets”中拖动到需要的Widget区域。
<div style="padding: 1em 0pt; text-align: left;"><img src="http://docs.google.com/File?id=dgwfttn5_78f4sm8qgt"></div>
<p>【注】：“当前可用的 Widgets”中的Widget不能同时出现在任意两个Widget。</p>
<p><span style="font-weight: bold;">三、将自定义的PHP代码片段穿插在WordPress的Widget中：</span></p>
<p>上面介绍了如何添加自定义的PHP代码片段，以及如何增加系统默认的Widget数目。有了上面的介绍，相信大家已经知道怎样自定义PHP代码片段的位置了。</p>
<p>没错，只需要将自定义的PHP代码片段插在Widget组之间，通过自定义Widget组里面显示的Widget，就可以达到随意调整PHP代码片段的目的。</p>
<p>我把自己的<a title="Webby-Blue汉化版" target="_blank" href="http://www.thememe.cn">Webby-Blue</a>主题更改为三栏显示，自定义了Widget的显示，呵呵。</p>
<p>本站演示地址：<a href="http://www.fadesky.com" target="_blank">http://www.fadesky.com</a></p>
<h2  class="related_post_title">猜你也会喜欢下面的文章:</h2><ul class="related_post"><li>2007年09月21日 -- <a href="http://www.fadesky.com/notice/whats-new-in-2007-09-21/" title="中文HowTO网站首页改版，欢迎继续关注！">中文HowTO网站首页改版，欢迎继续关注！</a> (9)</li><li>2007年08月14日 -- <a href="http://www.fadesky.com/software/how-to-publish-post-to-wordpress-by-google-docs/" title="如何解决Google Docs不能发布到Wordpress的问题">如何解决Google Docs不能发布到Wordpress的问题</a> (1)</li><li>2007年07月23日 -- <a href="http://www.fadesky.com/time/how-to-have-a-productive-day/" title="如何才能让你的一天卓有成效">如何才能让你的一天卓有成效</a> (3)</li><li>2007年06月12日 -- <a href="http://www.fadesky.com/software/wordpress-504-gateway-timeout-error/" title="WordPress出现504错误的解决办法">WordPress出现504错误的解决办法</a> (0)</li><li>2007年06月9日 -- <a href="http://www.fadesky.com/software/how-to-add-sitemap-to-wordpress/" title="如何给你的 WordPress Blog 加上 SiteMap">如何给你的 WordPress Blog 加上 SiteMap</a> (1)</li></ul>  <hr width="100%" size="1" color="#7FD4F4">
  <small><p>&copy; <a href="http://www.fadesky.com">中文HowTO</a>, 2007
  <p><b>RSS订阅地址：</b><a href="http://feed.fadesky.com" target="_blank" title="订阅“中文HowTO”"><img src="http://img.feedsky.com/images/icon_sub_c1s14.gif" alt="订阅 中文HowTO" style="border: none;" /></a></p>
  <p><b>文章链接: </b><a href="http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/" target="_blank" title="%%posttitle%">http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/</a></p>
  <p><a href="http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/#comments" target="_blank">查看文章评论，已有(16)条评论</a>。查看分类 <a href="http://www.fadesky.com/category/software/" title="查看 软件网络 的全部文章" rel="category tag">软件网络</a> 下的更多文章。</p>
  <p>
    <span><b>添加到以下收藏：</b></span>
    <span>
      <a title="QQ书签" target="_blank" href="http://shuqian.qq.com/post?title=WordPress自定义 &#8211; 改变默认的Widget - 中文HowTO&uri=http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/&jumpback=2&noui=1">QQ 书签</a>
      <a title="百度收藏" target="_blank" href="http://cang.baidu.com/do/add?it=WordPress自定义 &#8211; 改变默认的Widget - 中文HowTO&iu=http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/&fr=ien#nw=1">百度收藏</a>
      <a title="Google书签" target="_blank" href="http://www.google.com/bookmarks/mark?op=add&bkmk=http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/&title=WordPress自定义 &#8211; 改变默认的Widget - 中文HowTO">Google书签</a>
      <a title="收客收藏" target="_blank" href="http://www.shouker.com/mc/col/post2.aspx?surl=http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/&tags=&title=WordPress自定义 &#8211; 改变默认的Widget - 中文HowTO">收客收藏</a>
      <a title="Technorati" target="_blank" href="http://www.technorati.com/faves?add=http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/">Technorati</a>
    </span>
  </p>]]></content:encoded>
			<wfw:commentRss>http://www.fadesky.com/software/how-to-change-default-widget-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->