WordPress如何让不同的分类显示不同的侧边栏?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WordPress如何让不同的分类显示不同的侧边栏?相关的知识,希望对你有一定的参考价值。

我想实现的是 首页我调用 自己重新建的 sidebar2.php 而其他分类栏目 还是调用 sidebar.php 现在的情况是 把index.php 里调用了sidebar2.php 而分类栏目也自动调用了sidebar2.php

网站内容多了后,想不同的内容来调用不同的侧边栏来优化网站的体验。这个是有一个插件的,但是模板已被自己改得乱七八糟的,而且也想直接代码来实现,下面的代码较为明了,并且经过了验证。
不同页面调用不同侧边栏的两种代码方式:
<?php if(is_page()) // We\'re on a "page", which? if (is_page(\'About\')) // Ah, the about page! get_sidebar(\'about\'); // 调用 sidebar-about.php elseif (is_page(\'archives\')) get_sidebar(\'archives\'); // 调用 sidebar-archives.php elseif (is_page(\'contact\')) get_sidebar(\'contact\'); // 调用 sidebar-contact.php else // if we\'re not any of the above pages get_sidebar(); // 调用 sidebar.php else get_sidebar(); // 调用 sidebar.php ?>
或者
<?php //to be able to use this outside the_Loop if ( have_posts() ) the_post(); rewind_posts(); if ( is_home() || is_front_page() ) get_sidebar(\'home\'); //gets sidebar-home.php elseif ( is_archive() ) get_sidebar(\'archive\'); //gets sidebar-archive.php elseif ( is_page() ) get_sidebar(\'page\'); //gets sidebar-page.php elseif ( is_single() ) get_sidebar(\'single\'); //gets sidebar-single.php else get_sidebar() //gets sidebar.php ?>

不同分类调用不同侧边栏代码
<?php //to be able to use this outside the loop if( have_posts() ) the_post(); rewind_posts(); if( in_category(\'1\') ) get_sidebar(\'themes\'); //调用 sidebar-themes.php elseif ( in_category(\'2\') ) get_sidebar(\'plugins\'); //调用 sidebar-plugins.php elseif ( in_category(\'3\') ) get_sidebar(\'course\'); //调用 sidebar-course.php elseif ( in_category(\'4\') || in_category(\'5\') || in_category(\'6\') ) get_sidebar(\'catRest\'); //调用 sidebar-catRest.php else get_sidebar() //调用 sidebar.php ?>
参考技术A 我的理解是这样的,
WP带几个页面显示,index.php首页,archive.php分类页,single.php文章内容页,还有page.php单独文章页。
以上的那几个文件通常有放边栏的,这要看你的主题模板排布了。
<?php get_sidebar(); ?> 这个是默认的边栏,就是你在sidebar.php建立的样式。
现在你需要的是首页才用sidebar2.php,就在index.php中修改,不要加入<?php get_sidebar(); ?>这句,直接调用sidebar2.php过来,如<?php include(TEMPLATEPATH . '/sidebar2.php'); ?>

index.php样式大概为:
<?php get_header(); ?>

<div id="总的">
<div>主要内容部分</div>
<?php include(TEMPLATEPATH . '/sidebar2.php'); ?>

</div>
<?php get_footer(); ?>

archive.php的大概为:
<?php get_header(); ?>

<div id="总的">

<div>主要内容部分</div>

<?php get_sidebar(); ?>

</div>
<?php get_footer(); ?>

以上个人理解,仅作参考。本回答被提问者采纳

WordPress窗体化侧边栏

窗体化侧边栏是一个支持 Widget 的侧边栏或者说是窗体化(widgetized)的侧边栏几乎是 WordPress 主题的标准。

首先,什么是窗体化(widgetizing)呢?简单的说,窗体化就是能够通过拖拉就能够整理侧边栏的模块。比如我们需要更改分类和存档的位置,只需要简单把分类和存档列表拖到它们的位置即可,根本不用去修改侧边栏的代码。

教程地址:http://blog.wpjam.com/m/wp-theme-lesson-6e-widgetizing-sidebar/

以上是关于WordPress如何让不同的分类显示不同的侧边栏?的主要内容,如果未能解决你的问题,请参考以下文章

如何在wordpress中实现不同页面隐藏或者显示侧边栏?

如何让wordpress首页完全去掉侧边栏

下划线 Wordpress 主题 - 添加第二个侧边栏

WordPress主题开发实例:利用侧边栏工具显示联系方式

侧边栏在 WordPress 存档页面上的行为不同

PHP Wordpress条件标签在行动(不同侧边栏)