The gform_visibility_options filter in Gravity Forms allows you to modify or remove default visibility options and add custom visibility options.
Usage
add_filter('gform_visibility_options', 'my_function', 10);
Parameters
- $options (array): An array of visibility options.
- $label (string): The label of the visibility option; displayed in the field’s Visibility setting.
- $value (string): The value of the visibility option; will be saved to the form meta.
- $description (string): The description of the visibility option; used in the Visibility setting tooltip.
More information
See Gravity Forms Docs: gform_visibility_options
Examples
Add a custom visibility option
This example adds a custom visibility option to the form.
add_filter('gform_visibility_options', 'my_custom_visibility_options'); function my_custom_visibility_options($options) { $options[] = array( 'label' => __('Custom Option'), 'value' => 'custom', 'description' => __('This is a description of my custom visibility option. It will show up in the Visibility setting tooltip.') ); return $options; }
Remove a visibility option
This example removes the “Hidden” visibility option from the form.
add_filter('gform_visibility_options', 'remove_hidden_visibility_option'); function remove_hidden_visibility_option($options) { foreach ($options as $key => $option) { if ($option['value'] == 'hidden') { unset($options[$key]); } } return $options; }
Modify an existing visibility option
This example modifies the “Administrative” visibility option’s label and description.
add_filter('gform_visibility_options', 'modify_administrative_visibility_option'); function modify_administrative_visibility_option($options) { foreach ($options as &$option) { if ($option['value'] == 'administrative') { $option['label'] = __('New Administrative Label'); $option['description'] = __('This is a new description for the Administrative visibility option.'); } } return $options; }
Add multiple custom visibility options
This example adds two custom visibility options to the form.
add_filter('gform_visibility_options', 'add_multiple_custom_visibility_options'); function add_multiple_custom_visibility_options($options) { $custom_options = array( array( 'label' => __('Custom Option 1'), 'value' => 'custom_option_1', 'description' => __('This is a description of Custom Option 1.') ), array( 'label' => __('Custom Option 2'), 'value' => 'custom_option_2', 'description' => __('This is a description of Custom Option 2.') ) ); return array_merge($options, $custom_options); }