WP Theme 教程 #6e:窗体化侧边栏
June 13th, 2007 at 03:50pm 雪山飞猪 浏览: 6,126
一个适合 Widget 的侧边栏或者说是窗体化(widgetized)的侧边栏几乎是 WordPress 2.0 以后的主题标准。但是首先,什么是窗体化(widgetizing)呢?简单的说,窗体化就是让侧边栏适合 Widget 这个插件(译者注:WordPress 2.2 已经内置了 Wodgets),这个插件让你非常容易就能够重新整理侧边栏的模块。
举个例子说,不用去修改侧边栏的代码去更改分类和存档的位置,你只需要简单把分类和存档列表拖到它们的位置即可。
第1步:创建 functions.php 文件
打开记事本,然后把空白文件保存为 functions.php。把 functions.txt 文件中所有的内容拷贝到 functions.php 中。保存并关闭。
回顾一下,现在在“tutorial”主题文件夹下应该有4个文件。

第2步:窗体化侧边栏
直接在侧边栏的第一个 <ul> 标签输入以下代码:
<?php if ( function_exists(’dynamic_sidebar’) && dynamic_sidebar() ) : else : ?>
直接在 </ul> 标签之前输入以下代码:
<?php endif; ?>

保存 index.php 文件,你将在网页上看不到任何变化直到你装了 Widget 插件。(译者注:WordPress 2.2 之后就不用安装这个插件了)
请查看教程目录:WordPress 主题教程系列
翻译自:WP Theme Lesson #6e: Widgetizing Sidebar
创建 WordPress 主题系列教程均为本站翻译,如要转载,请注明:转载自我爱水煮鱼和本文地址。
作者:雪山飞猪
原文链接:WP Theme 教程 #6e:窗体化侧边栏
我爱水煮鱼版权所有,转载时必须以链接形式注明作者和原始出处及本声明。










1. 白驼山人 | August 11th, 2007 at 2:32 am
谁把这句话解释下?谢谢
[回复该留言]
2. 白驼山人 | August 11th, 2007 at 2:45 am
[回复该留言]
3. jane | August 13th, 2007 at 11:16 pm
学完这章之后,
最后得到的效果和前一章是一样的。
后台我也设置了widget
没有任何变化 是正常的吗?
[回复该留言]
4. Fallout | October 14th, 2007 at 10:50 pm
请问如何窗体化侧边栏多个sidebar?
[回复该留言]
5. Persephone | December 4th, 2007 at 4:26 pm
Warning: Cannot modify header information - headers already sent by (output started at D:\xampplite\htdocs\wordpress\wp-content\themes\tutorial\functions.php:1) in D:\xampplite\htdocs\wordpress\wp-includes\pluggable.php on line 391
我在启用插件的时候,突然页面空白,上面出现了些字,什么意思啊?
求楼主解答!
[回复该留言]
6. Persephone | December 5th, 2007 at 8:55 am
?楼主大人能不能拨空解答一下小女子的疑问呢?
因为又到瓶颈了,做不下去了,拜托了!
顺便献上十二万分的感激!
[回复该留言]
7. Persephone | December 5th, 2007 at 1:20 pm
在这一节里,关于那个 Widget 插件,我用的是2.3.1的版本,也就是楼主提供下载的版本,根据这一节所说2.2版本之后都不需要安装 Widget 这个插件的,可是我在后台并没有看到这个插件啊!也无法启用。而且根据所有步骤做下来,跟前一章节都一样的。
然后我去下了这个插件,但是却显示:Warning: Cannot modify header information - headers already sent by (output started at D:\xampplite\htdocs\wordpress\wp-content\themes\tutorial\functions.php:1) in D:\xampplite\htdocs\wordpress\wp-includes\pluggable.php on line 391
实在不明白原因啊!望高手解答!谢谢!
[回复该留言]
8. 雪山飞猪 | December 6th, 2007 at 8:02 pm
@Persephone 2.2 之后内置 widget 到核心代码中,在插件栏看不到,你碰到的问题是 你的 functions.php 中的代码有问题,清仔细查阅下!
[回复该留言]
9. Persephone | December 12th, 2007 at 1:19 pm
非常感谢楼主大人拨空回答小的的问题!
我的确在插件栏里没有看到,后来无意中在主题,即Presitation中看到了Widgets,就在theme后面一个标签。
我点它之后,有看到SIDE BAR,根据它上面说的,我把最下面的内容,比如日历拖到SIDE BAR中,保存后回网站看效果,并没有出现边栏,就连本来在最下面显示的日历也没有了。这是怎么回事呢?
[回复该留言]
10. Persephone | December 12th, 2007 at 1:25 pm
functions.php 中的代码有问题?
为什么?我是直接复制楼主提供的代码啊!并没有做任何修改,怎么会有问题呢?
还望楼主大人明示。
另外,再次对楼主大人的翻译与解答深表感激!
[回复该留言]
11. Persephone | December 12th, 2007 at 1:49 pm
另外,三楼的JANE问道:
学完这章之后,
最后得到的效果和前一章是一样的。
后台我也设置了widget
没有任何变化 是正常的吗?
这个问题我也很好奇答案。
因为我是跟着楼主翻译的课程一步步学的,之前的课程中没有提到栏的问题,会不会显不出SIDE BAR是因为我的基础栏数一直是一栏的缘故呢?
[回复该留言]
12. Persephone | December 12th, 2007 at 2:01 pm
还有一个问题(请原谅小的比较愚笨,问题比较多。)显不出两栏会不会是之前的模板没有提到“栏”的问题?
我们一直在一栏的模式下面写程序的,会不会改成两栏就会显出来了呢?
另外三楼的JANE问道:学完这章之后,
最后得到的效果和前一章是一样的。
后台我也设置了widget
没有任何变化 是正常的吗?
这个答案是?
[回复该留言]
为你这种好问的精神感动哇
[回复该留言]
13. jxmoon | April 4th, 2008 at 10:07 pm
@Persephone 2.2 之后内置 widget 到核心代码中,在插件栏看不到,你碰到的问题是 你的 functions.php 中的代码有问题,清仔细查阅下!
我以碰到相同问题.
能不能请 雪山飞猪 提供一下2.5. functions.txt
[回复该留言]