如何为WordPress定制器的颜色选择器设置默认颜色?

时间:2021-06-01 作者:crispy

我正在开发一个WordPress主题,在该主题中,我将向自定义程序的“颜色”部分添加一个颜色控件,以便用户可以自定义页脚的背景颜色。

我向自定义程序添加了一个功能正常的颜色选择器,但我无法让颜色选择器显示“默认”颜色和按钮。

我在与颜色控件关联的自定义设置中为“default”参数指定了一个十六进制颜色值,假设这是该控件的默认颜色,但它就是不起作用。

我的颜色选择器显示的不是“默认”按钮,而是一个“清除”按钮,用于清除颜色输入,但不会将其重置为默认颜色。

My question is: How can I get the Customizer’s color picker to show a “Default” button instead of the "Clear" button?

这是我添加到主题定制器中的自定义函数。php文件:

function mytheme_customize_register( $wp_customize ) {

    $wp_customize->add_setting( \'footer_color\',
      array(
            \'default\' => \'#000000\',
            \'transport\' => \'refresh\', 
            \'sanitize_callback\' => \'sanitize_hex_color\',
      )
    );

    $wp_customize->add_control( \'footer_color\',
      array(
            \'label\' => __( \'Footer Color\', \'textdomain\' ),
            \'section\' => \'colors\',
            \'type\' => \'color\',
            \'capability\' => \'edit_theme_options\',
      )
    );
}
add_action( \'customize_register\', \'mytheme_customize_register\' );
下面是生成的颜色选择器的外观。(我的颜色选择器显示的不是“默认”按钮,而是“清除”按钮,用于清除颜色输入,但不会将其重置为默认颜色):

enter image description here

1 个回复
SO网友:crispy

事实上,在WordPress上善良的开发人员的帮助下,我成功地实现了这一点。org论坛,我将在这里发布我的问题的答案,以帮助任何有同样问题的人。

如果存在WP核心功能,最好使用它,这是颜色控件的情况,并创建核心WP\\u Customize\\u color\\u Control类的实例。

以下是更正的代码:

function mytheme_customize_register( $wp_customize ) {

    $wp_customize->add_setting( \'footer_color\',
    array(
        \'default\' => \'#000000\',
        \'transport\' => \'refresh\',
        \'sanitize_callback\' => \'sanitize_hex_color\',
    )
    );

    $wp_customize->add_control(
        new WP_Customize_Color_Control(
        $wp_customize,
        \'footer_color\',
        array(
          \'label\' => __( \'Footer Color\', \'textdomain\' ),
          \'section\' => \'colors\',
          \'capability\' => \'edit_theme_options\',
          )
        )
    );

}
add_action( \'customize_register\', \'mytheme_customize_register\' );

相关推荐