让Wordpress不同页面显示不同的(sidebar)侧栏.

几乎所有的Wordpress模版侧栏内容都包含在sidebar.php文件里。所有页面全部使用这个相同的Sidebar。 现在我们动手,让日 志页使用 Sidebar2.php。而其它页面使用Sidebar.php

注意:下文提到的所有PHP文件,都是你目前使用的主题的目录里边的,直接在后台就可以修改。 步骤是:进入后台 > 外观 > 主题编辑器 >  然后在右侧的模版文件列表里就可以选择要修改的文件,进行操作了.

我们先来做个学习小培训,看single.php里的两行PHP语言:

1
2
< ?php get_sidebar(); ?>
< ?php get_footer(); ?>

这两行所表示的分别是调用侧栏sidebar.php和页脚footer.php文件。大家应该都可以很容易的明白它。

两种情况:

①如果你不使用Widgets,那么很简单.只要两步。

建立一个Sidebar2.php文件,你只要将sidebar.php文件里的内容全部复制到 sidebar2.php里就可以了。这里有一个快捷的方法,用FTP工具将空间上的Sidebar.php文件下载到本地并重命名为 Sidebar2.php,然后上传,上传目录为模版目录.
然后,将你的日志页single.php文件里的

< ?php get_sidebar(); ?>

修改为

< ?php include_once("sidebar2.php"); ?>

现在,你可以根据自己的喜好,更改sidebar2.php里的内容。来实现更改日志页的侧栏了。

②如果你使用Widgets,那么也挺简单.只多了两步.

先按上文的方法操作一遍。

接着打开functions.php,找到类似这样的.

1
2
3
4
5
6
7
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '
  • ',
    'after_widget' => '
  • '
    ,
    'before_title' => '

    ',
    'after_title' => '

    '
    ,
    ));

    上面是一段函数,定义了一个Widget,现在,我们按它的格式,再写一次,这样,就多出一个Widget出来了。为了区别开来,第二个 Widget应该要有一个名字。我们这样写,在本例中,我们将它命名为sidebar2

    'name' =***; '名字'

    整个函数定义要这样写:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    < ?php
    if ( function_exists('register_sidebar') )
    register_sidebar(array(
    'name' => 'sidebar2',
    'before_widget' => '
  • ',
    'after_widget' => '
  • '
    ,
    'before_title' => '

    ',
    'after_title' => '

    '
    ,
    ));

    将上面些内容加到原先的Widget定义后面。
    现在,你需用将sidebar2.php中原来调用默认Widgets的代码改为调用我们刚刚新建的sidebar2 Widgets。找开Sidebar2.php 找到这样的代码.

    1
    2
    < ?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar() ) : else : ?>
    < ?php endif; ?>

    将它修改为

    1
    2
    < ?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(sidebar2) ) : else : ?>
    < ?php endif; ?>

    好了,现在,你去后台的Widget设置中,会发现,在下拉列表中多出一个Widget了.它的名字为Sidebar2,现在你需要为他添加上一些 东西.

    如果你需要在更多的页面使用不同的sidebar.方法是相同.请举一反三,如果无法举一反三,就举个砖头往脑袋上拍吧!

     

    WordPress不同分类文章调用不同的侧边栏

     

    根据不同分类下的文章,调用不同的侧边栏,也就是说分章的分类不同,如属于琪琪分类的,调用琪琪专属侧栏,属于网赚的则调用自定义的网赚的侧栏.

    我想实现的办法也许有许多

    1. 可以通过判断文章的分类,再调用不同的single.php(单篇文章页面),再在对应的single.php里调用自定义的sidebar.php.(此方法,需要依据分类的数量定义不同的single.php,再定义不同的sidebar.php,比较麻烦)
    2. 在single.php里给sidebarname定义个变量,再根据对post的分类判断来给这个变量斌值.再调用对应的sidebar.(这个方法不错,只是对php不懂的我来显得太过吃力)
    3. 在single.php里用in_category()判断分类,再用include_once()来调用不同的sidebar.

    google了一下,最后决定采用第3个方法.只需在single.php里稍做修改即可实现不同分类调用不同侧边栏的效果了.

    方法如下:将sing.php里的

    替换为如下

    if ( in_category(522) ) {

    include_once('sidebarearn.php');

    } elseif (in_category(6)) {

    include_once('sidebarlife.php');

    } elseif (in_category(4) ) {

    include_once('sidebarqiqipage.php');

    }else {

    include_once('sidebar.php');

    }

    ?>

    转载于:https://www.cnblogs.com/kaixin110/archive/2010/09/29/1838321.html

    你可能感兴趣的:(让Wordpress不同页面显示不同的(sidebar)侧栏.)