widgets优化,让不同页面显示不同的侧边栏

wordpress自带的widgets,调整sidebar的时候非常不方便,不过优化一下就可以了。
如果想实现WordPress不同页面调用不同侧边栏的效果,请继续阅读:

*文中出现的sidebar_single参数可以自定义为其他的值

1.修改functions.php

  1. <?php
  2. if ( function_exists('register_sidebar') ) {
  3.     register_sidebar(array(
  4.         'before_widget' => '<li id="%1$s" class="widget %2$s">',
  5.         'after_widget' => '</li>',
  6.         'before_title' => '<h2 class="widgettitle">',
  7.         'after_title' => '</h2>',
  8.     'name' => 'Main sidebar'
  9.     ));
  10. }
  11. //新加代码start:
  12. if ( function_exists('register_sidebar') ){
  13.     register_sidebar(array(
  14.         'before_widget' => '<li id="%1$s" class="widget %2$s">',
  15.         'after_widget' => '</li>',
  16.         'before_title' => '<h2 class="widgettitle">',
  17.         'after_title' => '</h2>',
  18.         'name' => 'Main sidebar_single',   //sidebar_single值可以自定义
  19.     ));
  20. }
  21. //新加代码end
  22. ?>

2.将sidebar.php另存为sidebar_single.php,并做如下修改:

sidebar_single.php文件中找到dynamic_sidebar('Main sidebar')
将其修改为
dynamic_sidebar('Main sidebar_single')

3.修改single.php文件

在single.php中找到<?php get_sidebar(); ?>
将其修改为
<?php include_once("sidebar_single.php"); ?>

4.进后台设置single页面的widgets

后台==>外观==>Widgets,
在“当前 Widgets”选中Main sidebar_single,
点“显示”按钮,然后加入你的设置。

呼哧大功告成~教程有看不明白的,联系我吧 ;)

相关日志:

15 条评论 《widgets优化,让不同页面显示不同的侧边栏》

  1. 以前看过几个教程,貌似你这个最简单~新加一段,改个名字就可以了?
    什么时候试试~

    回复

  2. 学习ing。。 8)

    回复

  3. 学习了,谢谢分享 :)

    回复

  4. 学习学习

    回复

  5. 其实直接在sidebar用if判断不更简单 :|

    回复

    Gravatar汽车维修管理及软件 Reply:

    我在里面加条件判断,通不过。全部都不显示了。

  6. 暂时用不到这样的效果

    回复

  7. 你好。
    sidebar.php文件中没有dynamic_sidebar(‘Main sidebar’)这个啊
    开头三句:

    请问这怎么弄?

    回复

    Gravatarcuikai Reply:

    不同的主题有可能会用不同的语句,查一下类似的语句,缩减搜索范围重新搜索试试。

  8. !function_exists(‘dynamic_sidebar’)

    回复

  9. 只有:

    回复

  10. 这个确实比我看到的简单好多

    我的按照别的方法搞了好多代码

    最后现在还没完成Widget的重复使用。。。

    想问一下 如何让我的主题实现:

    进入单篇日志后侧栏就不要了 只有中间的内容让内容content变成宽栏显示

    像 default主题那样

    回复

    Gravatarcuikai Reply:

    屏蔽掉sidebar,然后调整样式,使中间内容的宽度为自适应(百分比)就可以了。

  11. 哧哧……..大功告成!
    再研究了一下,可以了,谢谢分享!

    回复

  12. 我想请教一下,我用的是default模板,照你的方法改成功了,可是在首页添加过的widget,在其他页调用别一个sidebar时就不能用了。明白我的意思吗?像最新文章最新评论这些,都是不能重复添加的。

    回复

发表评论 (无需注册)

支持CTRL+ENTER快捷提交
崔凯的博客
Powered by WordPress | Theme by ck web design | TOP 顶部
Copyright © 崔凯的博客 All rights reserved. 京ICP备09029324号.