面板可以有部分,部分可以有设置,设置可以有控件。设置保存在数据库中,而特定设置的控件仅用于向用户显示其相应设置。
此代码创建一个基本section在panel从上方。里面有一些基本settings的controls附件。
<?php
/**
* Section: Basic
*
* Basic Customizer section with basic controls.
*
* @since 1.0.0
* @package WPC
*/
// 如果直接访问,请退出。
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// 自定义功能。
if ( ! function_exists( 'wpc_customize_panel_basic' ) ) {
// 自定义注册操作。
add_action( 'customize_register', 'wpc_customize_panel_basic' );
/**
* Customize Panel.
*
* Adds a Panel, Section with basic controls.
*
* @param object WP_Customize $wp_customize Instance of the WP_Customize_Manager class.
* @since 1.0.0
*/
function wpc_customize_panel_basic( $wp_customize ) {
// 科:基本。
$wp_customize->add_section( 'wpc_section_basic', array(
'priority' => 10,
'panel' => 'wpc_panel_wpcustomize',
'title' => __( 'Basic Section Title', 'WPC' ),
'description' => __( 'Section Description.', 'WPC' ),
'capability' => 'edit_theme_options'
) );
// 设置:文本。
$wp_customize->add_setting( 'wpc_text', array(
'type' => 'theme_mod',
'default' => 'Placeholder.',
'transport' => 'refresh', // 选项:refresh或postMessage。
'capability' => 'edit_theme_options',
'sanitize_callback' => 'esc_attr'
) );
// 控制:文本。
$wp_customize->add_control( 'wpc_text', array(
'label' => __( 'Text', 'WPC' ),
'description' => __( 'Description', 'WPC' ),
'section' => 'wpc_section_basic',
'type' => 'text'
) );
// 设置:Textarea。
$wp_customize->add_setting( 'wpc_textarea', array(
'type' => 'theme_mod',
'default' => 'Placeholder textarea.',
'transport' => 'refresh', // 选项:refresh或postMessage。
'capability' => 'edit_theme_options',
'sanitize_callback' => 'exc_textarea'
) );
// 控制:Textarea。
$wp_customize->add_control( 'wpc_textarea', array(
'label' => __( 'Textarea', 'WPC' ),
'description' => __( 'Description', 'WPC' ),
'section' => 'wpc_section_basic',
'type' => 'textarea'
) );
// 设置:复选框。
$wp_customize->add_setting( 'wpc_checkbox', array(
'type' => 'theme_mod',
'default' => 'enable',
'transport' => 'refresh', // 选项:refresh或postMessage。
'capability' => 'edit_theme_options',
'sanitize_callback' => 'wpc_sanitize_checkbox' // customr-sanitization.php文件中的自定义函数。
) );
// 控制:复选框。
$wp_customize->add_control( 'wpc_checkbox', array(
'label' => __( 'Checkbox', 'WPC' ),
'description' => __( 'Description', 'WPC' ),
'section' => 'wpc_section_basic',
'type' => 'checkbox'
) );
// 布置:收音机。
$wp_customize->add_setting( 'wpc_radio', array(
'type' => 'theme_mod',
'default' => 'on',
'transport' => 'refresh', // 选项:refresh或postMessage。
'capability' => 'edit_theme_options',
'sanitize_callback' => 'wpc_sanitize_select', // customr-sanitization.php文件中的自定义函数。
) );
// 控制:收音机。
$wp_customize->add_control( 'wpc_radio', array(
'label' => __( 'Radio', 'WPC' ),
'description' => __( 'Description', 'WPC' ),
'section' => 'wpc_section_basic',
'type' => 'radio',
'choices' => array(
'enable' => 'Enable',
'disable' => 'Disable'
)
) );
// 设置:选择。
$wp_customize->add_setting( 'wpc_select', array(
'type' => 'theme_mod',
'default' => 'enable',
'transport' => 'refresh', // 选项:refresh或postMessage。
'capability' => 'edit_theme_options',
'sanitize_callback' => 'wpc_sanitize_select' // customr-sanitization.php文件中的自定义函数。
) );
// 控制:选择。
$wp_customize->add_control( 'wpc_select', array(
'label' => __( 'Select', 'WPC' ),
'description' => __( 'Description', 'WPC' ),
'section' => 'wpc_section_basic',
'type' => 'select',
'choices' => array(
'enable' => 'Enable',
'disable' => 'Disable'
)
) );
}
}