WordPress函数register_sidebar()

描述:

注册并创建一个新的侧边栏

用法:

<?php register_sidebar( $args ); ?>
<?php
 $args = array(	
'name'   => __( 'Sidebar name', 'theme_text_domain' ),
'id'         => 'unique-sidebar-id',	
'description'   => '',       
 'class'         => '',	
'before_widget' => '<li id="%1$s" class="widget %2$s">',	
'after_widget'  => '</li>',	
'before_title'  => '<h2 class="widgettitle">',	
'after_title'   => '</h2>'
 ); ?>

参数:

args

(string/array) (可选) 基于“name”和“id”值生成侧边栏。

默认值: None

  • name – 侧边栏名称(默认为“Sidebar”和ID)。
  • id – 侧边栏 id – 必须全部为小写,不带空格(默认为自动递增的数字标识)
  • description – 侧边栏的内容/位置的文本描述 (默认为空)
  • class – CSS类分配给外观->小工具中的侧边栏。这个类将只出现在WordPress小部件管理页面的源代码中。它不会包含在您的网站前端。注意:值“sidebar”将在类值之前。例如,一个类“tal”将产生一个类值“sidebar tal”。(默认值:空)。
  • before_widget – 加在小工具之前输出的HTML(default: <li id="%1$s" class="widget %2$s">)
  • after_widget -加在小工具之后输出的HTML(default: </li>).
  • before_title – 小工具名称之前加载的HTML (default: <h2 class="widgettitle">).
  • after_title – 小工具名称之后加载的HTML (default: </h2>).

源文件:

function register_sidebar( $args = array() ) {
    global $wp_registered_sidebars;
 
    $i = count( $wp_registered_sidebars ) + 1;
 
    $id_is_empty = empty( $args['id'] );
 
    $defaults = array(
        /* translators: %d: Sidebar number. */
        'name'          => sprintf( __( 'Sidebar %d' ), $i ),
        'id'            => "sidebar-$i",
        'description'   => '',
        'class'         => '',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget'  => "</li>\n",
        'before_title'  => '<h2 class="widgettitle">',
        'after_title'   => "</h2>\n",
    );
 
    /**
     * Filters the sidebar default arguments.
     *
     * @since 5.3.0
     *
     * @see register_sidebar()
     *
     * @param array $defaults The default sidebar arguments.
     */
    $sidebar = wp_parse_args( $args, apply_filters( 'register_sidebar_defaults', $defaults ) );
 
    if ( $id_is_empty ) {
        _doing_it_wrong(
            __FUNCTION__,
            sprintf(
                /* translators: 1: The 'id' argument, 2: Sidebar name, 3: Recommended 'id' value. */
                __( 'No %1$s was set in the arguments array for the "%2$s" sidebar. Defaulting to "%3$s". Manually set the %1$s to "%3$s" to silence this notice and keep existing sidebar content.' ),
                '<code>id</code>',
                $sidebar['name'],
                $sidebar['id']
            ),
            '4.2.0'
        );
    }
 
    $wp_registered_sidebars[ $sidebar['id'] ] = $sidebar;
 
    add_theme_support( 'widgets' );
 
    /**
     * Fires once a sidebar has been registered.
     *
     * @since 3.0.0
     *
     * @param array $sidebar Parsed arguments for the registered sidebar.
     */
    do_action( 'register_sidebar', $sidebar );
 
    return $sidebar['id'];
}