首页 > 技术殿堂 > 定义WordPress的侧栏不同页面显示不同内容

定义WordPress的侧栏不同页面显示不同内容

本文介绍了如何定制不同页面侧栏显示不同的内容

这几天有点忙没法静下心来写点东西嘿嘿,用了WordPress之后我发现所有页面的侧栏都一摸一样,我到网上找了下资料,
这个博客主题的作者Neoease就有解决方法。

修改 sidebar.php文件
语法上都很通俗 采用 if、else if、else、endif。这些判断来区别每个页面显示不同内容

譬如我的侧栏友情链接我只想让他首页显示
把相应文件里的代码

<div id=”multicollinks”>
<h3>友情链接</h3>
<ul><?php wp_multicollinks(‘limit=20&orderby=rand&columns=2′); ?></ul>
<div align=”right”><a href=”http://blog.tkbbs.com/link/“>更多链接…</a></div></div>

上下添加 <?php if (is_home()) : ?>  <?php endif; ?> 改为:

<?php if (is_home()) : ?>
<div id=”multicollinks”>
<h3>友情链接</h3>
<ul><?php wp_multicollinks(‘limit=20&orderby=rand&columns=2′); ?></ul>
<div align=”right”><a href=”http://blog.tkbbs.com/link/“>更多链接…</a></div></div>
<?php endif; ?>

关键就在 is_home() (只显示在首页) is_single() (只显示文章页)这些函数的调用
例如多个判断语句
要在首页显示 Archives, 单篇文章显示 Categories, 其他页面显示 Meta, 则需要改动代码如下:

<?php if (is_home()) : ?>
 <div>
  <h3>Archives</h3>
  <ul>
   <?php wp_get_archives(); ?>
  </ul>
 </div>
<?php else if (is_single()) : ?>
 <div>
  <h3>Categories</h3>
  <ul>
   <?php wp_list_cats(); ?>
  </ul>
 </div>
<?php else : ?>
 <div>
  <h3>Meta</h3>
  <ul>
   <?php wp_register(); ?>
   <li><?php wp_loginout(); ?></li>
  </ul>
 </div>
<?php endif; ?>

如果你想更细微的调整侧栏显示内容 那么你可以参考官方提供的函数调用文档WordPress Codex – Conditional Tags

文章内容参考自:Neoease的博客

分类: 技术殿堂 标签:
  1. 2009年8月21日20:55 | #1

    占个沙发 学习呢

  2. 2009年8月22日15:52 | #2

    @卢松松
    呵呵 这判断比较简单 你博客越来越热闹了 :smile:

  3. 2009年10月14日16:32 | #3

    这才是我想要的
    不过有人提出设置不同sidebar的方法也不错。

  4. 2009年10月20日17:03 | #4

    我就搬个凳子学习学习。。php

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。