面板可以有部分,部分可以有设置,设置可以有控件。设置保存在数据库中,而特定设置的控件仅用于向用户显示其相应设置。
此代码创建一个基本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' ) ) ); } }