在定制器API中有条件地获取设置值

时间:2019-06-16 作者:pickos7

我是以正常的方式进行的,我没有刷新,而是根据用户的选择用JS编辑元素,但在一种情况下,我需要一个依赖于另一个值的值,我无法获得该值。

这是我的JS:

wp.customize( \'myplugin[border_width]\', function( value ) {
 value.bind( function( to ) {
    window.border_style =\'\';
    window.border_color =\'\';

    wp.customize( \'myplugin[border_style]\', function( value ) {
       value.bind( function( to ) {
          border_style = to;
       } );
    } );
    wp.customize( \'myplugin[border_color]\', function( value ) {
       value.bind( function( to ) {
          border_color = to;
       } );
    } );

    if ( !empty(to) ) {
       console.log(to); // works
       console.log(border_style); // empty
       console.log(border_color); // empty
    }
 } );
} );
样式和颜色值始终为空,即使我在customizer中更改了它们。

1 个回复
SO网友:Sally CJ

我不确定这是否是你想要的,但你可以使用wp.customize.get() 要获取当前设置的所有自定义程序设置,请执行以下操作:

var settings = wp.customize.get(); // get all settings
var border_style = settings[\'myplugin[border_style]\'];
var border_color = settings[\'myplugin[border_color]\'];

// Or, this works, too.
var border_style = wp.customize.get()[\'myplugin[border_style]\'];
var border_color = wp.customize.get()[\'myplugin[border_color]\'];

Reference

相关推荐