未识别Customizer.js更改

时间:2015-11-22 作者:Strauss808

我一直在尝试使用主题定制器API,并试图为使用定制器所做的更改设置实时预览。

当使用refresh属性时,我使用的设置工作正常,但是当我尝试使用postMessage时,我遇到了一个问题。我编写了必要的代码行,以使设置与实时预览一起工作,但我的浏览器无法识别对自定义程序所做的更改(和保存的更改)。js文件。

我使用的设置:

$wp_customize->add_setting( \'dvekocky_header_title\', array(
   \'default\' => esc_html__(\'Simple, Reliable and Awesome.\', \'dvekocky\' ),
   \'type\' => \'theme_mod\',
   \'transport\' => \'postMessage\' 
));
JS代码:

( function( $ ) {
// Site title and description.
wp.customize( \'blogname\', function( value ) {
    value.bind( function( to ) {
        $( \'.navbar-brand a\' ).text( to );
    } );
} );
wp.customize( \'blogdescription\', function( value ) {
    value.bind( function( to ) {
        $( \'.site-description\' ).text( to );
    } );
} );
// Header text color.
wp.customize( \'header_textcolor\', function( value ) {
    value.bind( function( to ) {
        if ( \'blank\' === to ) {
            $( \'.site-title, .site-description\' ).css( {
                \'clip\': \'rect(1px, 1px, 1px, 1px)\',
                \'position\': \'absolute\'
            } );
        } else {
            $( \'.site-title, .site-description\' ).css( {
                \'clip\': \'auto\',
                \'color\': to,
                \'position\': \'relative\'
            } );
        }
    } );
} );

wp.customize( \'dvekocky_header_title\', function( value ) {
    value.bind( function( to ) {
        $( \'.intro-section h1\' ).text( to );
    } );
} );

wp.customize( \'dvekocky_header_subtitle\', function( value ) {
    value.bind( function( to ) {
        $( \'.intro-section h5\' ).text( to );
    } );
} );
} )( jQuery );
浏览器中检查的JS代码:

( function( $ ) {
    // Site title and description.
    wp.customize( \'blogname\', function( value ) {
        value.bind( function( to ) {
            $( \'.site-title a\' ).text( to );
        } );
    } );
     wp.customize( \'blogdescription\', function( value ) {
        value.bind( function( to ) {
            $( \'.site-description\' ).text( to );
        } );
     } );
// Header text color.
    wp.customize( \'header_textcolor\', function( value ) {
        value.bind( function( to ) {
            if ( \'blank\' === to ) {
                $( \'.site-title, .site-description\' ).css( {
                    \'clip\': \'rect(1px, 1px, 1px, 1px)\',
                    \'position\': \'absolute\'
                } );
            } else {
                $( \'.site-title, .site-description\' ).css( {
                    \'clip\': \'auto\',
                    \'color\': to,
                    \'position\': \'relative\'
                } );
            }
        } );
    } );
 } )( jQuery );
长话短说-即使我保存了脚本,并且在文本编辑器中打开文件时可以看到它们,但脚本的行为就像从未对其进行过任何更改一样。

我希望我能很好地描述我的问题,希望你们中的一些人能帮助我。我不怀疑这个问题是微不足道的,但我就是想不出来。

PS:当我使用刷新方法预览更改时,一切都很顺利。现在,我仍然可以进行更改,但只有在保存时才能看到更改(&A);通过Customizer发布它们,然后手动重新加载页面。

1 个回复
SO网友:Reve

你已经有一段时间没有写信了,但我也遇到了同样的问题,你的问题让我得以解决,所以谢谢你!我想弄明白这件事,真是疯了。我正在使用下划线,就像你一样,修复方法是更改脚本的版本号。

您将自定义程序排入队列的位置。js脚本(下划线中inc/customizer.php的底部附近)将版本号更改为今天的日期,或明天的日期,即“20160215”。我之前的版本是20130508,但一旦我更改了它,就会加载当前版本的脚本,我的自定义控件也会受到JavaScript的影响。

相关推荐