Using Gravity Forms ‘gform_disable_registration’ PHP filter

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;
}