2010年4月21日星期三

WordPress 不同页面显示不一样的侧边栏

WordPress 不同页面显示不一样的侧边栏

本文将告诉你如何在 WordPress 不同的页面显示不同的侧边栏内容. 如: 可以在首页显示 Archives, 但要在其他页面显示 Categories. 为什么要这么做呢? 因为访客在不同的页面会对不一样的内容感兴趣, 在首页可能他们愿意看到目录和索引等内容, 而在单篇文章则会对文章相关内容更加关注. 所以我们可以通过不同的侧边栏 Widgets 来引导访客.

这是个极其简单的主题加工, 本不想多言, 但貌似有些朋友还是不太了解, 所以专门发个文章说说, 老鸟请绕行.


首先要说明的是, 以下操作目前只能通过修改 sidebar.php 或相关代码达到目的. 目前还没发现有这样的插件, 我不知道开发这样一个针对 Widget 的插件是否有价值, 但有兴趣的朋友可以一试.

Okay, 下面我们来个例子吧, 假如现在的 Widget 结构如下:

1
2
3
4
5
6
7
8

Widget Title

  • Item 1
  • Item 2
  • Item 3
  • 如果我们要在首页显示 Archives, 单篇文章显示 Categories, 其他页面显示 Meta, 则需要改动代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23

    Archives

      Categories

        Meta

        • 不知道你是否已经注意到, 其实关键在 is_home() 和 is_single() 方法的调用, 通过 if 语句限制显示条件. 你可以将它们换成其他限制条件, 以达到不页面的不同地方显示不同内容的目的, 而不仅仅是侧边栏. 还可以参考一下我发布过的那些主题里 archive.php 文件里 Archive 页面的标题是怎么实现的, 只要这个你弄懂了, 其他的就小菜一碟了.

          WordPress 已经为我们提供了足够多的页面筛选方法, 以下一些相关资料:
          Codex 关于页面限制方法的说明: WordPress Codex - Conditional Tags
          你也可以打开 wp-includes/query.php 查看 WordPress 的源代码.

          声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: WordPress 不同页面显示不一样的侧边栏

          没有评论:

          发表评论