我爱水煮鱼 » WordPress » WordPress 主题教程 #6e:窗体化侧边栏

WordPress 主题教程 #6e:窗体化侧边栏

窗体化侧边栏从零开始创建 WordPress 主题系列教程的第六篇的第五部分,一个支持 Widget 的侧边栏或者说是窗体化(widgetized)的侧边栏几乎是 WordPress 主题的标准。

首先,什么是窗体化(widgetizing)呢?简单的说,窗体化就是能够通过拖拉就能够整理侧边栏的模块。比如我们需要更改分类和存档的位置,只需要简单把分类和存档列表拖到它们的位置即可,根本不用去修改侧边栏的代码。

第1步:创建 functions.php 文件

打开记事本,然后把空白文件保存为 functions.php。把 functions.txt 文件中所有的内容拷贝到 functions.php 中。

回顾一下,现在在“tutorial”主题文件夹下应该有4个文件。

number-of-files.gif

第2步:窗体化侧边栏

直接在侧边栏的第一个 <ul> 标签输入以下代码:

<?php if ( function_exists(’dynamic_sidebar’) && dynamic_sidebar() ) : else : ?>

widgetize-if.gif

直接在 </ul> 标签之前输入以下代码:

<?php endif; ?>

widgetize-endif.gif

保存 index.php 文件,然后我们到 WordPress 后台 => 外观 => Widget 就可以把 Widget 拖到侧边栏了。

原文:link

标签:

分享到:

请选择你看完该文章的感受:

不错 超赞 无聊 扯谈 不解 路过
  1. 学完这章之后,
    最后得到的效果和前一章是一样的。
    后台我也设置了widget
    没有任何变化 是正常的吗?

  2. 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
    我在启用插件的时候,突然页面空白,上面出现了些字,什么意思啊?
    求楼主解答!

  3. ?楼主大人能不能拨空解答一下小女子的疑问呢?
    因为又到瓶颈了,做不下去了,拜托了!
    顺便献上十二万分的感激!

  4. 在这一节里,关于那个 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

    实在不明白原因啊!望高手解答!谢谢!

  5. @Persephone 2.2 之后内置 widget 到核心代码中,在插件栏看不到,你碰到的问题是 你的 functions.php 中的代码有问题,清仔细查阅下!

  6. 非常感谢楼主大人拨空回答小的的问题!
    我的确在插件栏里没有看到,后来无意中在主题,即Presitation中看到了Widgets,就在theme后面一个标签。
    我点它之后,有看到SIDE BAR,根据它上面说的,我把最下面的内容,比如日历拖到SIDE BAR中,保存后回网站看效果,并没有出现边栏,就连本来在最下面显示的日历也没有了。这是怎么回事呢?

  7. functions.php 中的代码有问题?
    为什么?我是直接复制楼主提供的代码啊!并没有做任何修改,怎么会有问题呢?

    还望楼主大人明示。
    另外,再次对楼主大人的翻译与解答深表感激!

  8. 另外,三楼的JANE问道:
    学完这章之后,
    最后得到的效果和前一章是一样的。
    后台我也设置了widget
    没有任何变化 是正常的吗?

    这个问题我也很好奇答案。
    因为我是跟着楼主翻译的课程一步步学的,之前的课程中没有提到栏的问题,会不会显不出SIDE BAR是因为我的基础栏数一直是一栏的缘故呢?

  9. 还有一个问题(请原谅小的比较愚笨,问题比较多。)显不出两栏会不会是之前的模板没有提到“栏”的问题?
    我们一直在一栏的模式下面写程序的,会不会改成两栏就会显出来了呢?

    另外三楼的JANE问道:学完这章之后,
    最后得到的效果和前一章是一样的。
    后台我也设置了widget
    没有任何变化 是正常的吗?
    这个答案是?

  10. @Persephone 2.2 之后内置 widget 到核心代码中,在插件栏看不到,你碰到的问题是 你的 functions.php 中的代码有问题,清仔细查阅下!

    我以碰到相同问题.
    能不能请 雪山飞猪 提供一下2.5. functions.txt

  11. 我根据水煮鱼的WP Theme 教程学习Theme的制作,前面的都可以,但在第6节写了代码而达不到教程所说的效果

    原文 WP Theme 教程 #6e :窗体化侧边栏
    http://fairyfish.net/2007/06/04/so-you-want-to-create-wordpress-themes-huh/

    1、按照教程做好了4个文件,就是主题没有窗体化侧边栏的效果

    2、index.php中的代码:

    <?php wp_list_pages(‘depth=2&title_li=页面’); ?>

    这段代码这样写对吗??

    3、functions.php中的代码:

    4、请高手们帮忙看看,谢谢!

  12. 水煮鱼:
    我按照你说的步骤完成了functions.php文件的建立,然后按照步骤正确输入,但是我刷新页面却出现Parse error: syntax error, unexpected $end in C:\xampp\htdocs\wordpress\wp-content\themes\tutorial\index.php on line 82字样!请问这是为什么?我是用的是wordpress2.7!
    期待您的解答!多谢!~

  13. 文章第一段:(译者注:WordPress 2.2 已经内置了 Wodgets)里面wodgets写错了一个字母。 :smile: 谢谢博主的无私奉献!

  14. 水煮鱼:
    按照你说的做了,但是刷新以后我的出现以下错误:
    Fatal error: Call to undefined function function_exits() in E:\xampp\htdocs\wordpress\wp-content\themes\tutorial\index.php on line 68
    说我没有定义这个函数?这个怎么回事啊?问题怎么解决啊?

  15. 呃,请问下,我根据你文章的步骤写了主题。。但WP-CodeBox这个插件的效果却没了。。这是为什么。

  16. 出问题了出问题了 Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\loli\wp-content\themes\tutorial\functions.php:1) in C:\xampp\htdocs\loli\wp-includes\functions.php on line 861

    :cry:

  17. 请问一下我的侧边栏一直都是在下面的哦,不是在侧边的,这是正常的吗?而且其他东西拖拽带侧边栏后也没有在首页显示啊,这是什么问题啊?