The gform_user_updated action triggers an event when a user has been updated through the User Registration Add-On.
Usage
add_action('gform_user_updated', 'your_function_name', 10, 4);
Parameters
- $user_id (integer) – The ID of the logged in user.
- $feed (Feed Object) – The feed which is currently being processed.
- $entry (Entry Object) – The entry object from which the user was updated.
- $user_pass (string) – The password associated with the user; either submitted by the user or sent via email from WordPress.
More information
See Gravity Forms Docs: gform_user_updated
Examples
Update User Role
This example updates the user role based on data submitted on the form.
add_action('gform_user_updated', 'change_role', 10, 4); function change_role($user_id, $feed, $entry, $user_pass) { // Set the role based on data submitted $question1 = rgar($entry, '4'); // Field ID 4 $question2 = rgar($entry, '5'); // Field ID 5 $question3 = rgar($entry, '6'); // Field ID 6 if ($question1 == 'true' && $question2 == 'true' && $question3 == 'true') { // Update role $user_obj = new WP_User($user_id); $user_obj->set_role('administrator'); } }
Update Display Name
This example updates the display name using a field value.
add_action('gform_user_updated', 'update_display_name', 10, 4); function update_display_name($user_id, $feed, $entry, $user_pass) { // Get display name from field 2 $display_name = rgar($entry, '2'); if (!empty($display_name)) { update_user_meta($user_id, 'display_name', $display_name); } }
Add Additional Role
This example adds an additional role to user’s existing roles.
add_action('gform_user_updated', 'add_additional_role', 10, 4); function add_additional_role($user_id, $feed, $entry, $user_pass) { // Run only for form id if (rgar($entry, 'form_id') != 1) { return; } GFCommon::log_debug(__METHOD__ . '(): running for User ID: ' . $user_id); // Role name ID to add $role_to_add = 'custom_role'; // Get current user object $user_obj = new WP_User($user_id); // Add the role above to existing roles for the user $user_obj->add_role($role_to_add); GFCommon::log_debug(__METHOD__ . '(): Roles for user ' . $user_id . ': ' . print_r($user_obj->roles, true)); }