Settings Field Visibility

Settings Field Visibility

Settings Field Visibility
Learn how to show or hide a setting depending on the value of other settings.

Note: This tutorial series is intended for advanced users. At least a basic understanding of coding in PHP and JavaScript is required.
The visibility of a module setting can depend on the value of other settings by including one or both of the parameters described below in the setting definition.
Setting Visibility Parameters

show_if (array)

setting (string|string[]) — Setting value(s)

show_if_not (array)

setting (string|string[]) — Setting value(s)

Setting Visibility Examples
Only show setting_a when:

setting_b is on

array(

'label' => esc_html__( 'Setting A', 'myex-my-extension' ),

'type' => 'text',

'option_category' => 'basic_option',

'description' => esc_html__( 'Input something here.', 'myex-my-extension' ),

'toggle_slug' => 'main_content',

'show_if' => array(

'setting_b' => 'on',

),

),

'setting_b' => array(

...

),

);

}

...

view raw

module-setting-field-definition.php

hosted with by GitHub

 
Only show setting_c when:

setting_b is on
AND setting_a is not some_value

array(

...

),

'setting_b' => array(

...

),

'setting_c' => array(

'label' => esc_html__( 'Setting C', 'myex-my-extension' ),

'type' => 'text',

'option_category' => 'basic_option',

'description' => esc_html__( 'Input something else here.', 'myex-my-extension' ),

'toggle_slug' => 'main_content',

'show_if' => array(

'setting_b' => 'on',

),

'show_if_not' => array(

'setting_a' => 'some value',

),

),

);

}

...

view raw

module-settings-definition.php

hosted with by GitHub

 
Only show setting_a when:

setting_b is one of value_1, value_3, value_4
AND setting_c is not some_value
AND setting_d is not one of value_1, value_4

 

array(

'label' => esc_html__( 'Setting A', 'myex-my-extension' ),

'type' => 'text',

'option_category' => 'basic_option',

'description' => esc_html__( 'Input something here.', 'myex-my-extension' ),

'toggle_slug' => 'main_content',

'show_if' => array(

'setting_b' => array( 'value_1', 'value_3', 'value_4' ),

),

'show_if_not' => array(

'setting_c' => 'some_value',

'setting_d' => array( 'value_1', 'value_4' ),

),

),

'setting_b' => array(

...

),

'setting_c' => array(

...

),

'setting_d' => array(

...

),

);

}

...

view raw

pseudo-code.php

hosted with by GitHub

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注