これはjqueryを知っている人にとっては簡単な方法かもしれません。
だから、私は2つのカスタマイザコントロールがあります。
最初のチェックボックスはlmscore_improved_summary
です。そして2番目のものは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は私にとって全く新しいものです。
私を助けてください。
あなたはそのようなsomethignで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_summary
とcourse_instructor_layout
の完全な定義を追加してください。