我在定制程序中添加了一个部分,一切正常。但在我添加了第二个后,第一个不再出现。起初我以为我没有更改分区ID,但事实并非如此。以下是我的一些代码:
/* ====================================================
* Section 1
=================================================== */
// Add section
$wp_customize->add_section("qs_spirit_co_section_1", array(
"title" => __("First Widget Area", "qs-spirit-co"),
"priority" => 1,
"panel" => "widget_section_panel",
));
// Section 1 text color
$wp_customize->add_setting("qs_spirit_co_section_1_text_color", array(
"default" => "#f8f8f8",
"transport" => "refresh",
));
$wp_customize->add_control(new WP_Customize_Color_Control(
$wp_customize, "qs_spirit_co_section_2_text_color_control",
array(
"label" => __("Text Color", "qs-spirit-co"),
"section" => "qs_spirit_co_section_1",
"settings" => "qs_spirit_co_section_1_text_color",
"type" => "color",
)
));
/* ====================================================
* Section 2
=================================================== */
// Add section
$wp_customize->add_section("qs_spirit_co_section_2", array(
"title" => __("Second Widget Area", "qs-spirit-co"),
"priority" => 130,
"panel" => "widget_section_panel",
));
// Section 2 text color
$wp_customize->add_setting("qs_spirit_co_section_2_text_color", array(
"default" => "#535353",
"transport" => "refresh",
));
$wp_customize->add_control(new WP_Customize_Color_Control(
$wp_customize, "qs_spirit_co_section_2_text_color_control",
array(
"label" => __("Text Color", "qs-spirit-co"),
"section" => "qs_spirit_co_section_2",
"settings" => "qs_spirit_co_section_2_text_color",
"type" => "color",
)
));
我甚至为这些部分制作了一个新的面板,但第一个面板在第二个面板出现时仍然没有显示。我删除了第二个的代码,第一个再次出现。
我可能只是错过了一些简单的东西,但我还没有找到。有人能帮忙吗?
SO网友:Jacob Peattie
问题是您有重复的控件ID。在第1节中,您有:
$wp_customize->add_control(new WP_Customize_Color_Control(
$wp_customize, "qs_spirit_co_section_2_text_color_control",
array(
"label" => __("Text Color", "qs-spirit-co"),
"section" => "qs_spirit_co_section_1",
"settings" => "qs_spirit_co_section_1_text_color",
"type" => "color",
)
));
其中
qs_spirit_co_section_2_text_color_control
作为ID。
在第2节中,您有:
$wp_customize->add_control(new WP_Customize_Color_Control(
$wp_customize, "qs_spirit_co_section_2_text_color_control",
array(
"label" => __("Text Color", "qs-spirit-co"),
"section" => "qs_spirit_co_section_2",
"settings" => "qs_spirit_co_section_2_text_color",
"type" => "color",
)
));
也在使用
qs_spirit_co_section_2_text_color_control
作为ID。
这意味着只有第一个控件被添加到第1节,这意味着第2节没有控件,当节没有控件时,它们不会出现。
确保为控件提供唯一的ID。