WordPress注册侧边栏函数:register_sidebar

1、介绍

注册一个单独的侧边栏区域和返回ID,供 “widgets_init” 钩子调用。

2、用法

 <?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

(字符串/数组)(可选)创建基于“name”和“id”的侧边栏。

默认值: None

name – 侧边栏的名字(默认是 ‘Sidebar’ 加 数字 ID)
id – 侧边栏 ID,必须全部小写,不带空格(默认是一个自动递增的数字 ID)
description – 用来说明侧边栏是什么,在哪里显示的文字。会在小工具管理界面显示。(默认为空)
class – 分配到小工具 HTML输出 中的CSS选择器名字(默认为空)
before_widget – 在每个小工具前面输出的 HTML代码(默认: ‘<li id=”%1$s” class=”widget %2$s”>’)注:使用sprintf的变量替换
after_widget – 在每个小工具后面输出的 HTML代码(默认: “</li>\n”)
before_title – 在标题前输出的 HTML代码(默认: <h2 class=”widgettitle”>)
after_title – 在标题后输出的 HTML代码 (默认:”</h2>\n”)
args 参数是一个关联数组,它将会传递到每个一个小工具回调函数作为第一个参数(如果传递的是一个字符串,它将被传递到 parse_str() 生成一个关联数组)。这些参数的基本用途就是传递主题特有的 HTML 标签 来包裹 小工具 和标题。

注释

WordPress 3.4.1 以后你要避免使用 WP保留的 ID。如:

#_wpnonce_widgets
#ab-awaiting-mod
#access-off
#access-on
#adminmenu
#adminmenuback
#adminmenushadow
#adminmenuwrap
#adv-settings
#available-widgets
#collapse-button
#collapse-menu

重复多次使用 register_sidebar() 注册多个侧边栏的话,建议使用register_sidebars() 一次性注册多个,因为它允许你分配一个单一无二的名字到每个侧边栏(例如:“左边栏”“右边栏”)。虽然这些名字只出现在管理界面中,但是最好的做法是具体命名每一个侧边栏,提醒管理用户每个侧边栏的用途。

before/after 的默认值是用于让主题生成以 h2 标题标记的侧边栏小工具。主要是为了让创建侧边栏时更加简单,不必担心 before/after 标签。但是如果你不限使用默认的值,你必须在注册侧边栏时指定这些标签。建议逐字复制 ID 和 class 属性,确保内部的 sprintf 调用可以正常工作于单独的小工具。

示例

创建一个名为 “RightSideBar” 的侧边栏,同时使用 <h1> 和 </h1> 包裹标题:

register_sidebar(array(
 'name' => __( 'Right Hand Sidebar' ),
 'id' => 'right-sidebar',
 'description' => __( 'Widgets in this area will be shown on the right-hand side.' ),
 'before_title' => '<h1>',
 'after_title' => '</h1>'
 ));

3、函数历史

开始于 2.2.0 版本,2.9.0 添加 description 属性

4、源文件

register_sidebar() 位于 wp-includes/widgets.php