WordPress:我如何测试一个或多个侧边栏是否有小部件?

时间:2015-03-17 13:06:18

标签: php wordpress

快速浏览我想要做的事情。我有一个模板布局,其中有3列左右列是小部件区域。我想要做的是测试两个小部件区域是否处于活动状态,其中一个小部件区域是活动的,还是没有活动的(即具有小部件内容)。

示例代码:

    <?php if ( is_active_sidebar( 'sidebar_1' && 'sidebar_2') ) { ?>
        <div class="bothSidebarsActive"></div>
    <?php } elseif ( is_active_sidebar( 'sidebar_1' || 'sidebar_2' ) { ?>
        <div class="OneTheSidebarsActive"></div>
   <?php } else { ?>
        <div class="noneOfTheSidebarsAreActive"></div>                              
   <?php }; ?>

我获得IF或ELSEIF返回true的成功有限,但从来没有全部三种状态。有谁知道我做错了什么?

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:2)

elseif ( 'employees_sidebar' || 'contact_sidebar' )对我来说就像是你的问题。你也应该在这里使用is_active_sidebar功能。像这样:

<?php } elseif ( is_active_sidebar('employees_sidebar') || is_active_sidebar('contact_sidebar') ) { ?>

答案 1 :(得分:0)

好的,谢谢 - BULK提供了代码现在可以提供的帮助,以防万一其他人遇到同样的问题。

功能代码:

<?php if ( is_active_sidebar ( 'employees_sidebar' ) && is_active_sidebar ( 'contact_sidebar' ) ) { ?>
      <div class="bothSidebarsActive"></div>
<?php } elseif ( is_active_sidebar ( 'employees_sidebar' ) || is_active_sidebar ( 'contact_sidebar' ) ) { ?>
      <div class="OneSidebarActive"></div>
<?php } else { ?>
      <div class="noneOfTheSidebarsAreActive"></div>
<?php } ?>