Using Gravity Forms ‘gform_routing_field_types’ PHP filter

The gform_routing_field_types filter in Gravity Forms allows you to modify the field types supported by notification routing.

Usage

To apply the filter to all forms:

add_filter('gform_routing_field_types', 'your_function_name');

Parameters

  • $field_types (array): The currently supported field types, generated from GFNotification::$supported_fields.

More information

See Gravity Forms Docs: gform_routing_field_types

Examples

Add a custom field type to supported field types

This code adds a custom field type named ‘my-custom-field-type’ to the supported field types for notification routing.

add_filter('gform_routing_field_types', function($field_types) {
    array_push($field_types, 'my-custom-field-type');
    return $field_types;
});

Remove a specific field type from supported field types

This code removes the ‘textarea’ field type from the supported field types for notification routing.

add_filter('gform_routing_field_types', function($field_types) {
    $key = array_search('textarea', $field_types);
    if ($key !== false) {
        unset($field_types[$key]);
    }
    return $field_types;
});

Limit supported field types to specific types

This code limits the supported field types for notification routing to only ‘text’ and ‘number’ field types.

add_filter('gform_routing_field_types', function($field_types) {
    return array('text', 'number');
});

Add multiple custom field types to supported field types

This code adds multiple custom field types to the supported field types for notification routing.

add_filter('gform_routing_field_types', function($field_types) {
    $custom_field_types = array('custom-type-1', 'custom-type-2', 'custom-type-3');
    $field_types = array_merge($field_types, $custom_field_types);
    return $field_types;
});

Modify supported field types conditionally based on form ID

This code adds a custom field type named ‘my-custom-field-type’ to the supported field types for notification routing, but only for forms with the ID of 5.

add_filter('gform_routing_field_types', function($field_types, $form_id) {
    if ($form_id == 5) {
        array_push($field_types, 'my-custom-field-type');
    }
    return $field_types;
}, 10, 2);