当前浏览:首页 / WordPress函数 / get_sidebar()

get_sidebar( string $name = null, array $args = array() )

加载侧边栏模板

sidebar 侧边栏


描述

引入主题的边栏模板,或者如果指定了名称,则将引入专门的边栏。

对于参数,如果文件名为“sidebar-special.php”,则指定“special”。


参数

$name

(string) (可选) 指定边栏的名称。

默认值: null

$args

(array) (可选) 传递给边栏模板的其他参数。

默认值: array()


返回

(void|false) 成功时无返回,如果模板不存在,则为false。



源码

查看源码 官方文档


更新日志

版本描述
5.5.0添加了$args参数
1.5.0开始引入

用户贡献的笔记

  • 贡献者:Codex

    简单调用
    假设您有文件wp-content/yourTheme/sidebar-nice-bar.php。在页面中引入此边栏的方式是:

    <?php get_sidebar('nice-bar'); ?>
    
    
  • 贡献者:Codex

    左侧和右侧边栏
    一个主题中有两个边栏。

    <?php get_header(); ?>
    <?php get_sidebar( 'left' ); ?>
    <?php get_sidebar( 'right' ); ?>
    <?php get_footer(); ?>
    

    右侧和左侧边栏的文件名应分别为sidebar-right.phpsidebar-left.php

  • 贡献者:Codex

    多边栏
    不同页面的不同边栏。

    <?php
    if ( is_home() ) :
      get_sidebar( 'home' );
    elseif ( is_404() ) :
      get_sidebar( '404' );
    else :
      get_sidebar();
    endif;
    ?>
    

    home和404边栏的文件名应分别为sidebar-home.phpsidebar-404.php

  • 贡献者:Codex

    以下代码是“HTTP 404:Not Found”错误模板的简单示例(您可以将其作为404.php引入主题中)。

    <?php get_header(); ?>
    <h2>Error 404 - Not Found</h2>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
    
    
  • 贡献者:thirumani02

    使用$args参数调用边栏(自5.5.0起)
    考虑以下是您在主题内任何地方的边栏调用,

    <?php 
    $args = array(
    	'title' => 'Shop sidebar'
    );
    
    get_sidebar( 'shop', $args ); 
    
    ?>

    sidebar-shop.php文件中的代码可能如下所示。

    <div id="secondary" class="widget-area sidebar-shop" role="complementary">
    	<h2><?php echo esc_html( $args['title'] ); ?><h2>
    	<?php dynamic_sidebar( 'sidebar-shop' ); ?>
    </div><!-- #secondary -->
  • 贡献者:tradesouthwest

    边栏的条件语句
    如果您在制作插件模板时不知道是否有边栏,对于插件可能与之一起使用的任何给定主题,您可以检查register_sidebar函数以查看是否存在任何边栏。

    if ( function_exists( 'register_sidebar' ) ) { 
    	get_sidebar(); 
    } 

    或者,如果您知道有关侧边栏的主题注册名称,请尝试:

    //for twenty-sixteen theme
        if ( is_active_sidebar( 'content-bottom' ) ) : 
            get_sidebar( 'content-bottom' ); 
        endif;