The gform_disable_registration Gravity Forms PHP filter allows add-ons to prevent the User Registration add-on from registering/updating a user.
Usage
add_filter('gform_disable_registration', 'your_function_name', 10, 3);
Parameters
- $is_disabled (bool): True or false.
- $form (Form Object): The submitted form object.
- $entry (Entry Object): The entry object from which the user was registered.
- $fulfilled (bool): True or false. This may be a value passed from an add-on like PayPal which indicates that the payment has been fulfilled. Null as of version 3.0.
More information
See Gravity Forms Docs: gform_disable_registration
Examples
Disable registration based on submitted form values
In this example, we disable registration if the submitted values for fields 4 and 5 are both “No”.
add_filter('gform_disable_registration', 'disable_registration', 10, 3); function disable_registration($is_disabled, $form, $entry) { // Check form id and if not the form being checked, simply return the status passed in to function if ($form['id'] != 160) { return $is_disabled; } // Check submitted values to decide if registration should be stopped if (rgar($entry, '4') == 'No' && rgar($entry, '5') == 'No') { // Disable registration return true; } else { return false; } }
Disable registration for a specific form
In this example, we disable registration if the form ID is 25.
add_filter('gform_disable_registration', 'disable_registration_for_form', 10, 3); function disable_registration_for_form($is_disabled, $form, $entry) { return $form['id'] == 25; }
Disable registration based on user role
In this example, we disable registration if the user role in the submitted form is “subscriber”.
add_filter('gform_disable_registration', 'disable_registration_for_role', 10, 3); function disable_registration_for_role($is_disabled, $form, $entry) { $user_role = rgar($entry, '6'); // Replace '6' with the field ID containing the user role return $user_role == 'subscriber'; }
Disable registration based on a custom field value
In this example, we disable registration if the custom field “disable_registration” is set to “yes”.
add_filter('gform_disable_registration', 'disable_registration_custom_field', 10, 3); function disable_registration_custom_field($is_disabled, $form, $entry) { $disable_registration = rgar($entry, '7'); // Replace '7' with the field ID containing the custom field value return $disable_registration == 'yes'; }
Disable registration based on the current date
In this example, we disable registration if the current date is after May 1, 2023.
add_filter('gform_disable_registration', 'disable_registration_based_on_date', 10, 3); function disable_registration_based_on_date($is_disabled, $form, $entry) { $today = new DateTime(); $deadline = new DateTime('2023-05-01'); return $today > $deadline; }