The gform_advancedpostcreation_file_fields_choices Gravity Forms PHP filter allows you to override the available choices for media settings on the feed configuration page.
Usage
add_filter('gform_advancedpostcreation_file_fields_choices', 'your_function_name', 10, 3);
Parameters
- $choices (array): The file fields as choices.
- $form (Form Object): The current form.
- $single_file (bool): Indicates if only single file upload fields should be returned.
More information
See Gravity Forms Docs: gform_advancedpostcreation_file_fields_choices
Examples
Remove a specific choice from the list
This example removes any choice with the label ‘Not For Media’ from the available choices.
add_filter('gform_advancedpostcreation_file_fields_choices', 'filter_choices', 10, 3);
function filter_choices($choices, $form, $single_file) {
$filtered_choices = array();
foreach ($choices as $choice) {
if ($choice['label'] == 'Not For Media') {
continue;
}
$filtered_choices[] = $choice;
}
return $filtered_choices;
}
Only allow image file upload fields
This example only allows image file upload fields to be returned as choices.
add_filter('gform_advancedpostcreation_file_fields_choices', 'filter_image_choices', 10, 3);
function filter_image_choices($choices, $form, $single_file) {
$filtered_choices = array();
foreach ($choices as $choice) {
if ($choice['inputType'] == 'image') {
$filtered_choices[] = $choice;
}
}
return $filtered_choices;
}
Exclude file upload fields with specific form ID
This example excludes file upload fields from forms with a specific form ID.
add_filter('gform_advancedpostcreation_file_fields_choices', 'filter_form_choices', 10, 3);
function filter_form_choices($choices, $form, $single_file) {
if ($form['id'] == 5) { // Replace 5 with your desired form ID
return array();
}
return $choices;
}
Add custom choices to the list
This example adds a custom choice to the list of available choices.
add_filter('gform_advancedpostcreation_file_fields_choices', 'add_custom_choice', 10, 3);
function add_custom_choice($choices, $form, $single_file) {
$choices[] = array(
'text' => 'Custom Choice',
'value' => 'custom_choice'
);
return $choices;
}
Change the order of choices based on custom logic
This example sorts the choices alphabetically by their labels.
add_filter('gform_advancedpostcreation_file_fields_choices', 'sort_choices', 10, 3);
function sort_choices($choices, $form, $single_file) {
usort($choices, function($a, $b) {
return strcmp($a['label'], $b['label']);
});
return $choices;
}