在WordPress不同页面显示不同侧边栏

  之前我的博客只有一组侧边栏,在所有页面左右两侧都显示相同的侧边栏,过于千篇一律,对搜索引擎不友好,用户体验也不好。刚才忙了下,部分内容只在首页显示,在第二页,第三页,独立日志页,分类和标签页面都不显示。

  1)首先添加几个widget
  
打开文件wp-includes/widgets.php,把
  wp_register_sidebar_widget(’recent-comments’, __(’Recent Comments’), ‘wp_widget_recent_comments’, $class);
  复制一下,增加一行
  wp_register_sidebar_widget(’recent-comments2′, __(’Recent Comments’), ‘wp_widget_recent_comments’, $class);
  这样就多了一个最近评论的widget。

  类似的,把
  wp_register_sidebar_widget(’recent-posts’, __(’Recent Posts’), ‘wp_widget_recent_entries’, $class);
  复制一下,增加一行
   wp_register_sidebar_widget(’recent-posts2′, __(’Recent Posts’), ‘wp_widget_recent_entries’, $class);
  就多了一个最近日志的widget。其余widget以此类推。
  完了后把widgets.php上传并覆盖原文件,你会发现widget都了好几个。

  2)其次添加侧边栏
  打开functions.php编辑,把
   register_sidebar(array(’name’ => ‘Left Sidebar’, ‘id’ => ‘left-sidebar’));
  复制,添加一行
  register_sidebar(array(’name’ => ‘Left Sidebar’, ‘id’ => ‘left-sidebar2′));
  这样就多了一个左边的侧边栏,用同样方法可以添加一个右侧的侧边栏。

  然后你就可以把第一步生成的widget拖动到新添加的侧边栏了!

  3)最后一步,在不同页面显示不同侧边栏
  
编辑sidebar.php文件,
  如果是首页就显示第一种侧边栏:
  if (is_home() && dynamic_sidebar(’left-sidebar’));
  如果是独立日志页就显示第二种侧边栏:
  elseif (is_single() && dynamic_sidebar(’left-sidebar2′));

  另外,如果想判断目录页是不是第一页,可以用if (is_home() && !is_paged())来判断,这样可以确保只显示在第一页,第二页第三页都不显示。

收藏到QQ书签
0 我顶!
4 条评论(comments)

(提示:以下内容由网友发表,评论包含的网址未经验证,请保持警惕!)
  1. 在WordPress不同页面显示不同侧边栏 | 海漠数码观察-HEAMO Digi Observer

    [...] 原文 [...]

  2. 汽车维修管理软件博客

    我的模板没有widgets.php这个文件啊。
    这种情况怎么弄的?

  3. 汽车维修管理软件博客

    我用的是YO2的博客,也是wordpress系统。

  4. search

    yo2我没用过,widgets.php不属于模板,不是在wp后台编辑的,得修改好了用ftp上传上去才行

发表评论(Leave a comment):

(网友评论仅供网友表达个人看法,并不表明一亿度同意其观点或证实其描述)

(含人身攻击、广告、恶意网址、机器发送的评论,统统删除)

【返回默认】 【返回首页

Copyright © 2008-2009 YiYidu Inc. All rights reserved.
44 queries in 0.301 seconds.