添加第二个后,定制器部分消失

时间:2019-08-08 作者:TLawson

我在定制程序中添加了一个部分,一切正常。但在我添加了第二个后,第一个不再出现。起初我以为我没有更改分区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",
        )
    ));
我甚至为这些部分制作了一个新的面板,但第一个面板在第二个面板出现时仍然没有显示。我删除了第二个的代码,第一个再次出现。

我可能只是错过了一些简单的东西,但我还没有找到。有人能帮忙吗?

1 个回复
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。

相关推荐