我正在尝试学习如何向WordPress定制器添加新的部分和控件。我观看了一个关于如何操作的视频,并完全复制了作者的代码(添加颜色选择器),但它对我不起作用。 所以,我的子主题的根目录中有两个文件:customizer.php和functions.php。
在functions.php中我需要customizer.php,如下所示:
function my_enqueue_assets() {
require get_stylesheet_directory() . '/customizer.php';}
add_action( 'wp_enqueue_scripts', 'my_enqueue_assets' );
在customizer.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' );
}
自定义程序设置中没有任何变化。
答案 0 :(得分:0)
将customizer.php文件直接包含到functions.php文件中。
答案 1 :(得分:0)
我通过创建一个面板解决了这个问题
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'),
) );
问题在于我在该部分中提到了该面板,但该面板实际上并不存在。因此无法创建部分,设置和控制。
感谢您的帮助,我很感激。