描述:
注册并创建一个新的侧边栏
用法:
<?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'];
}