WP自定义组件Customizer提供了四种基础对象,面板、节点、设置项以及控件,但由于面板是一个可选项,并不是一个必选项,节点并不强制要求放在自定义的面板中。wordpress官方也建议主题不必注册属于自己独有的面板,所以在实际应用中,我们可以把节点(section)视为我们需要处理的顶级对象。
节点会直接显示在主题自定义界面的主面板上,将控件关联给相应的相应的节点后,点击节点会切换至该节点包含的控件页面。一个节点可以包含多个控件,比如一个设置主题图像的节点,我们可以在其中放置设置站点logo以及站点icon图标等控件。
用法与参数
节点命令用法
add_section( $id, $args );
参数
- $id (字符串)(必须)一个唯一的id,默认:None
- $args (数组)(必须)
$args 的参数
- title 显示的名称
- description (可选)描述
- panel (可选)在哪个Panel下
- priority(可选)排序
- capability (可选)根据用户的权限控制是否显示,默认:edit_theme_options
- theme_supports (可选)根据主题的设置是否显示,用到方法add_theme_support
- active_callback (可选)根据当前页面是否显示,例如’active_callback’ => ‘is_front_page’
- description_hidden (可选)是否隐藏在帮助图标后面,默认:false
节点实例
$wp_customize->add_section( 'custom_css', array(
'title' => __( 'Custom CSS' ),
'description' => __( 'Add custom CSS here' ),
'panel' => '', // Not typically needed.
'priority' => 160,
'capability' => 'edit_theme_options',
'theme_supports' => '', // Rarely needed.
) );
因为很多参数都是可选的,在大多数情况下,可以只指定一个或两个参数来添加节。比如下面这个主题页脚的相关选项添加节点的示例:
// Add a footer/copyright information section.
$wp_customize->add_section( 'footer' , array(
'title' => __( 'Footer', 'themename' ),
'priority' => 105, // Before Widgets.
) );