背景故事:
我使用原生 WordPress 定制器创建了一个样式表切换器。我让定制器正常运行并通过 php 保存新的样式表选择,但是对于通过 .js/jQuery 进行的实时预览,我遇到了问题。希望你能给我一些指点,对 .js 和 jQuery 还是新手。
我的问题
当我从下拉列表中选择一个方案并单击定制器中的“发布”,然后刷新时,我的更改就会出现,所以我在 php 方面做得很好,但是当我在 WP Customizer Live Preview iframe 中进行选择时,我的更改根本不出现。
当我进入控制台时,我可以看到我选择的方案已经选择了正确的 url 路径到我选择的样式表,但屏幕上没有出现任何内容。
我的 .js/jQuery:
wp.customize( 'my_scheme_switch', function( value ) {
value.bind( function( to ) {
var zScheme;
if ( 'default' === to ) {
zScheme = 'default.css';
} else if ( 'orange' === to ) {
zScheme = 'orange.css';
} else {
zScheme = 'default.css';
}
jQuery( document ).ready( function($) {
var $body = $( 'body' );
var $head = $( 'head' );
var $switcher = $('#my-style-switcher-css', $head );
var schemes = '/wp-content/themes/mytheme/css/schemes/';
var newStyle = location.protocol + "//" + location.host + schemes + zScheme;
$switcher.href = newStyle;
});
});
});