Wordpress 定制器打破了自定义控制
Wordpress customizer breaks with custom control
我希望有人能帮我找到这个问题的答案。我正在为 Genesis 主题构建一个基础 child 主题,并将其添加到主题定制器中以允许快速设置基本主题设置。我 运行 遇到的问题是,每当我尝试添加自定义控件时,定制程序就会中断。该站点仍然有效,只是定制程序中断了。我的代码是这样的:
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
如果我删除自定义控件,它就会工作,默认为文本输入(将类型更改为文本)。我要做的是将其设为数字字段。
我曾尝试使用相同的方法在 sub-headings 的定制器中制作一个简单的 h6 文本部分,但 运行 遇到了同样的问题。
如果您能就这为何不起作用提供任何帮助,我们将不胜感激。我确定我遗漏了一些简单的东西。
这个问题的答案很简单。您不能在主自定义程序功能的 内设置自定义控件。它必须添加到该功能之外。即我现在有一个单独的 php 文件用于包含在我的主要功能文件中的自定义控件。
我希望有人能帮我找到这个问题的答案。我正在为 Genesis 主题构建一个基础 child 主题,并将其添加到主题定制器中以允许快速设置基本主题设置。我 运行 遇到的问题是,每当我尝试添加自定义控件时,定制程序就会中断。该站点仍然有效,只是定制程序中断了。我的代码是这样的:
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
如果我删除自定义控件,它就会工作,默认为文本输入(将类型更改为文本)。我要做的是将其设为数字字段。
我曾尝试使用相同的方法在 sub-headings 的定制器中制作一个简单的 h6 文本部分,但 运行 遇到了同样的问题。
如果您能就这为何不起作用提供任何帮助,我们将不胜感激。我确定我遗漏了一些简单的东西。
这个问题的答案很简单。您不能在主自定义程序功能的 内设置自定义控件。它必须添加到该功能之外。即我现在有一个单独的 php 文件用于包含在我的主要功能文件中的自定义控件。