Wordpress定制器打破了自定义控件

时间:2015-02-26 18:52:36

标签: php wordpress wordpress-theming genesis

我希望有人能帮我找到答案。我正在为Genesis主题建立一个基本的儿童主题,&我正在添加主题定制器,以便快速设置基本主题设置。在我遇到问题的地方是,每当我尝试添加自定义控件时,Customizer都会中断。该网站仍然有效,只是定制器中断。我的代码是这样的:

add_action( 'customize_register', 'um_register_theme_customizer' );
function um_register_theme_customizer( $wp_customize ) {

// Customizations that work here

我已经设置了所有可用的基本颜色设置。当我添加此设置时它会中断:

$wp_customize->add_setting(
    'um_h6_font_size',
    array(
        'default'     => '1.2'
    )
);
$wp_customize->add_control(
        new UM_Customize_Number_Control(
        'um_h6_font_size',
        array(
            'label'      => __( 'H6 Font Size (in rem)', 'um' ),
            'section'    => 'um_font_size_options',
            'settings'   => 'um_h6_font_size',
            'type' => 'number'
        )
        )
);

// Classes 
class UM_Customize_Number_Control extends WP_Customize_Control
{
    public $type = 'number';

    public function render_content()
    {
        ?>
        <label>
            <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
            <input type="number" size="2" step="1" min="0" value="<?php echo esc_attr(  $this->value() ); ?>" />
        </label>
        <?php
    }
}
} // Closes the um_register_theme_customizer function

如果我删除自定义控件然后它可以工作,默认为文本输入(将类型更改为文本)。我要做的是将其作为一个数字字段。

我试图使用相同的方法在自定义程序中为子标题创建一个简单的h6文本部分,但遇到了同样的问题。

任何帮助,为什么这不起作用将不胜感激。我确定我错过了一些简单的事情。

1 个答案:

答案 0 :(得分:0)

答案很简单。您无法在主自定义程序功能的内设置自定义控件。它必须在该功能之外添加。即我现在有一个单独的php文件,用于自定义控件,包含在我的主函数文件中。