WordPress 函数:is_active_sidebar判断边栏是否调用了小工具

is_active_sidebar() 函数用来检查侧边栏里是否有小工具,如果有则返回 True,没有则返回 False

用法

is_active_sidebar( $index );

参数

$index

(混合)(必须)要检查的侧边栏的名称或者 ID

默认值:None

返回值

(布尔)如果检查的侧边栏里有小工具则返回 True,如果没有则返回 False

使用举例

wordpress内置了一些小工具,比如日历文章文档。左侧的小工具一是由当前主题定义的页面区域(边栏),可以将小工具拖拽到页面区域内。从而对主题页面显示的东西做一定程度的定制。同时,小工具本身也可以多次使用和定制,也就是说同一个小工具可以出现在不同的区域内。这里有两个问题:

1、如何使主题支持这个功能
2、如何做一个自定义的小工具

主题支持小工具

主题需要在functions.php中,使用register_sidebarregister_sidebars向wp注册自己可以支持的边栏

register_sidebar( array(
        'name' => __( '小工具名称', 'twentytwelve' ),
        'id' => 'sidebar-1',
        'description' => __( '小工具描述', 'twentytwelve' ),
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget' => '</aside>',
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
    ) );

题模板的恰当地方将这个边栏放过来,使用dynamic_sidebar

<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
    <div id="secondary" class="widget-area" role="complementary">
        <?php dynamic_sidebar( 'sidebar-1' ); ?>
    </div><!-- #secondary -->
<?php endif; ?>

多个调用举例,加入我们注册了四个底部边栏小工具,我们可以这样is_active_sidebar()判断调用。

<?php if ( is_active_sidebar('footer-1') || is_active_sidebar('footer-2') || is_active_sidebar('footer-3') ) : ?>
      <?php 
	if ( is_active_sidebar( 'footer-1' ) ) : ?>
      <div class="footer-column"> 
	  <?php dynamic_sidebar( 'footer-1'); ?> 
       </div> 
      <?php endif;					
	if ( is_active_sidebar( 'footer-2' ) ) : ?>
     <div class="footer-column"> 
        <?php dynamic_sidebar( 'footer-2'); ?> 
      </div> 
     <?php endif;
       if ( is_active_sidebar( 'footer-3' ) ) : ?>
     <div class="footer-column"> <?php
      dynamic_sidebar( 'footer-3'); ?> 
     </div>
     <?php endif; 				
      if ( is_active_sidebar( 'footer-4' ) ) : ?>
     <div class="footer-column"> <?php
       dynamic_sidebar( 'footer-4'); ?> 
    </div>
    <?php endif; ?>
<?php endif; ?>

位置

此函数位于:wp-includes/widgets.php


发布日期:

所属分类: WordPress 函数 标签:  


没有相关文章!