Wordpress自定义程序预览脚本在初始页面加载时执行实时预览,而不是在我从预览窗口导航内页时

时间:2015-10-15 10:20:03

标签: javascript wordpress

感谢您的光临。 我正在使用自定义定制器控件处理wordpress主题。到目前为止一切正常。我还添加了实时预览,以便用户看到他们更改的内容

var api = wp.customize;
api('site_logo_alt_font_size', function (value) {
    value.bind(function (newval) {
        $('#vineyard-logo').css('font-size', newval + 'px');
    });
});

这似乎工作正常。我遇到的问题是,当我点击预览窗口中的任何链接(例如导航菜单上)时,实时预览似乎停止了。我可以说它并没有真正重新加载页面。它做了某种ajax重载。因此,最重要的是,只有当您没有点击任何带有自定义程序预览窗口的链接时,才能在登陆自定义程序页面时使用令人惊叹的实时预览功能。任何人都可以帮忙吗?我将非常感激。

其他信息: firebug控制台很干净,没有js错误。但是我可以从firebug上的网络选项卡看出,自定义程序脚本似乎在初始页面加载时被提取一次,而不是在我点击自定义程序窗口上的链接时。这就是我的脚本添加的方式

add_action('customize_preview_init', 'my_customize_preview_init', 100);
function my_customizer_preview_init (){ //my wp_enqueue_script goes here  }

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我通过在enqueue语句中将句柄“ mytheme-themecustomizer”编辑为唯一“ divi-child-theme-customizer”来解决了该问题,并且有效。我看不到您的入队声明,因此无法确定它是否适合您的情况。

发件人:

wp_enqueue_script( 
          'mytheme-themecustomizer',            //Give the script an ID
          get_template_directory_uri().'/assets/js/theme-customizer.js',//Point to file
          array( 'jquery','customize-preview' ),    //Define dependencies
          '',                       //Define a version (optional) 
          true                      //Put script in footer?
    );

收件人:

wp_enqueue_script( 
          'divi-child-theme-customizer',            //Give the script an ID
          get_template_directory_uri().'/assets/js/theme-customizer.js',//Point to file
          array( 'jquery','customize-preview' ),    //Define dependencies
          '',                       //Define a version (optional) 
          true                      //Put script in footer?
    );

https://codex.wordpress.org/Theme_Customization_API