我正在构建一个WordPress主题, 需要在定制器中添加自定义控件, 输入字段显示出来, 但是当我更改输入的值时, 什么也没发生。
这是我的代码。
class WP_Customize_Custom_Control extends WP_Customize_Control {
public $type = 'custom_control';
function render_content(){
}
public function content_template() {
?>
<input type="text" id="custom_control" name="custom_control" />
<?php
}
}
function company_customize_register( $wp_customize ){
$wp_customize->register_control_type( 'WP_Customize_Custom_Control' );
$wp_customize->add_setting('custom_smthing', array( 'default' => get_theme_mod( "custom_smthing" ), 'transport' =>'postMessage' ) );
$wp_customize->add_control(new WP_Customize_Custom_Control($wp_customize, 'custom_smthing', array(
'label' => __( 'Custom Control', 'company' ), 'section' => 'body_backgrounds', 'settings' => 'custom_smthing', )
)
);
}
add_action( 'customize_register', 'company_customize_register' );
而js是
( function( $ ) {
console.log("test1");
wp.customize( 'custom_smthing', function( value ) {
console.log("test2");
value.bind( function( to ) {
console.log("test3");
} );
});
})( jQuery );
test1和test2正常工作, 但test3永不触发。
#1
仅当custom_smthing的值更改时, test3才会触发。
评论前必须登录!
注册