根据定制器中的其他设置隐藏/显示定制器控件

时间:2018-08-07 作者:vishal ranjan

对于了解jquery的人来说,这可能是一个简单的问题。

因此,我有两个自定义控件。

第一个是lmscore_improved_summary 这是一个复选框。第二个是course_instructor_layout.

所以我想隐藏course_instructor_layout 什么时候lmscore_improved_summary 已选中。

这就是我正在尝试的jquery代码。

(function( $ ) {
wp.customize.bind( \'ready\', function() {

    var customize = this; // Customize object alias.
    customize( \'lmscore_improved_summary\', function( value ) {


        var Controls = [
            \'course_instructor_layout\'
        ];

        $.each( Controls, function( index, id ) {
            customize.control( id, function( control ) {
                /**
                 * Toggling function
                 */
                var toggle = function( to ) {
                    control.toggle( to );
                };

                // 1. On loading.
                toggle( value.get() );

                // 2. On value change.
                value.bind( toggle );
            } );
        } );

    } );
} );
})( jQuery );
但这与我想要的恰恰相反。它显示course_instructor_layout 什么时候lmscore_improved_summary 已选中。

我知道一点javascript,但jquery对我来说是全新的。

请帮帮我。

1 个回复
SO网友:Jeanne Kidaw

您可以使用以下内容在PHP中定义条件显示:

$wp_customize->add_control("course_instructor_layout", [
    // ... other arguments
    "settings" => "course_instructor_layout",
    "active_callback" => function ($control) {
        return !$control->manager->get_setting("lmscore_improved_summary")->value();
    },
]);
如果这在您的情况下不起作用,请编辑您的问题以添加以下内容的完整定义lmscore_improved_summarycourse_instructor_layout.

结束

相关推荐

WP管理员缺少图标、大量的JavaScript错误,但仅当SCRIPT_DEBUG为FALSE时

我可以访问一台Linux/Apache服务器,在那里我试图部署WordPress。为了避免这个错误,我用默认的2017主题和所有禁用的插件对其进行了测试。当我以管理员身份登录到任何wp admin页面时,左侧导航中的大多数图标都会丢失,选中的复选框没有任何复选框(例如),浏览器控制台会充满JavaScript错误。例如,在仪表板页面上,没有任何图标可见,错误控制台的内容如下:Uncaught TypeError: a.widget is not a function at load-scripts