Wordpress定制器自定义控件传输postMessage无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wordpress定制器自定义控件传输postMessage无法正常工作相关的知识,希望对你有一定的参考价值。

我正在构建一个WordPress主题,需要在自定义程序中添加自定义controls,输入字段显示但是当我更改输入值时没有任何反应。

这是我的代码。

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从未触发。

答案

test3只会在custom_smthing的值发生变化时触发。

以上是关于Wordpress定制器自定义控件传输postMessage无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

wordpress 主题定制器下拉菜单

Wordpress Divi Slider自定义javascript控件

WordPress自定义控件

php WordPress定制器

php 如何链接到WordPress定制器

php 如何链接到WordPress定制器