繁体   English   中英

将部分和控件添加到WordPress Customizer

[英]Add section and control to WordPress Customizer

我正在尝试学习如何向WordPress Customizer添加新的部分和控件。 我观看了有关如何执行此操作的视频,并完全复制了作者的代码(添加了颜色选择器),但对我来说不起作用。 因此,在子主题的根目录中有两个文件:customr.php和functions.php。

在functions.php中,我需要如下的customrizer.php:

function my_enqueue_assets() {
        require get_stylesheet_directory() . '/customizer.php';}
add_action( 'wp_enqueue_scripts', 'my_enqueue_assets' );

在customr.php中,我有以下代码:

function wcmcr_add_colour_picker( $wp_customize ) {
        $wp_customize->add_setting(
            'wcmcr_title_colour',
            array(
                'default'   => '#000',
                'capability'    => 'manage_options',
                'transport'     => 'postMessage',
                'priority'  => 10
                )
            );
        $wp_customize->add_section(
            'wcmcr_section_colour',
            array(
                'title'     => 'Colour Options',
                'description'   => 'Colour Options for WCMCR',
                'capability'    => 'manage_options',
                'priority'  => '10',
                'panel'     => 'wcmcr_panel'
                )
            );
        $wp_customize->add_control(
            new WP_Customize_Color_Control(
                $wp_customize,
                'wcmcr_title_colour',
                array(
                    'lable'     => 'Title Color',
                    'section'   => 'wcmcr_section_colour',
                    'settings'  => 'wcmcr_title_colour'
                    )
                )
            );
            }
            if ( is_admin() ) {
            add_action( 'customize_register', 'wcmcr_add_colour_picker' );
}

Customizer设置中没有任何变化。

将customrizer.php文件直接包含到functions.php文件中。

我通过创建一个带有wcmcr_panel id的面板解决了该问题。

$wp_customize->add_panel( __('wcmcr_panel'), array(
            'priority'       => 1,
            'capability'     => 'edit_theme_options',
            'theme_supports' => '',
            'title'          => __('Child Theme Settings', 'mytheme'),
            'description'    => __('Child Theme settings', 'mytheme'),
) );

问题是我在本节中提到了该面板,但是该面板实际上不存在。 因此,无法创建该部分,设置和控制。

感谢您的帮助,对此我表示感谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM