在类别页面上显示辅助边栏(存档)

时间:2013-08-09 作者:Sid

我的网站有以下结构,其中一列是主要内容(文章),另一列是右侧的侧栏(主要侧栏)。

主题允许我将布局更改为三列,但这是一个“侧宽”更改。我不想在主要内容部分有三列。

有没有办法只在分类页面上显示第二个侧边栏?

下面是辅助侧栏的代码:

<?php
/**
 * Alternate Sidebar Template
 *
 * If a `secondary` widget area is active and has widgets,
 * and the selected layout has a third column, display the sidebar.
 *
 * @package WooFramework
 * @subpackage Template
 */
global $woo_options;

$selected_layout = \'one-col\';
$layouts = array( \'three-col-left\', \'three-col-middle\', \'three-col-right\' );
if ( is_array( $woo_options ) && array_key_exists( \'woo_layout\', $woo_options ) )             { $selected_layout = $woo_options[\'woo_layout\']; }

if ( in_array( $selected_layout, $layouts ) ) {

if ( woo_active_sidebar( \'secondary\' ) ) {

    woo_sidebar_before();
?>
<aside id="sidebar-alt">
<?php
woo_sidebar_inside_before();
woo_sidebar( \'secondary\' );
woo_sidebar_inside_after();
?>
    </aside><!-- /#sidebar-alt -->
<?php
    woo_sidebar_after();
} // End IF Statement
} // End IF Statement
?>
我认为有几种方法可以实现这一目标:

1) 我们使用条件函数仅在类别页面上显示辅助侧栏(应位于主要内容的左侧)。2) 我们可以在单个页面上禁用辅助侧栏。3) 使用CSS禁用侧栏(不确定这是否会导致隐藏内容问题)

我想知道这听起来是否合乎逻辑(不幸的是,我不是一个“程序员”)

感谢您的帮助。

1 个回复
最合适的回答,由SO网友:Charles Clarkson 整理而成

使用is_category() WordPress函数确定您是否在类别模板中。

<?php
/**
 * Alternate Sidebar Template
 *
 * If a `secondary` widget area is active and has widgets,
 * and the selected layout has a third column, display the sidebar.
 *
 * @package WooFramework
 * @subpackage Template
 */

// If this is a category template.
if ( is_category() ) {

    global $woo_options;

    $selected_layout = \'one-col\';
    $layouts = array( \'three-col-left\', \'three-col-middle\', \'three-col-right\' );
    if ( is_array( $woo_options ) && array_key_exists( \'woo_layout\', $woo_options ) ) {
        $selected_layout = $woo_options[\'woo_layout\'];
    }

    if ( in_array( $selected_layout, $layouts ) ) {

    if ( woo_active_sidebar( \'secondary\' ) ) {

        woo_sidebar_before();
    ?>
    <aside id="sidebar-alt">
    <?php
    woo_sidebar_inside_before();
    woo_sidebar( \'secondary\' );
    woo_sidebar_inside_after();
    ?>
        </aside><!-- /#sidebar-alt -->
    <?php
        woo_sidebar_after();
    } // End IF Statement
    } // End IF Statement
}

结束

相关推荐

Change login CSS

是否有过滤器或可移除的东西:html,body {height:100%;} 登录页面中的声明?我已经创建了一个自定义登录页面html, body {height: 100%;} 在我的风格中是矛盾的。Wordpress加载html,body {height:100%;} wp管理员/css/wp管理员的声明。css和我想保留wp管理员。css文件完好无损。我无法用重写函数height: auto;如果有更好的方法,请告诉我:)更新日期:25.07.2013html,正文{height:auto;} 无论