The edit_user_profile_update WordPress PHP action fires before the page loads on the ‘Edit User’ screen.
Usage
add_action('edit_user_profile_update', 'my_custom_function'); function my_custom_function($user_id) { // your custom code here }
Parameters
$user_id
(int) – The user ID.
More information
See WordPress Developer Resources: edit_user_profile_update
Examples
Update user meta
Update a custom user meta field when editing a user profile.
add_action('edit_user_profile_update', 'update_user_custom_meta'); function update_user_custom_meta($user_id) { if (isset($_POST['custom_meta'])) { update_user_meta($user_id, 'custom_meta', sanitize_text_field($_POST['custom_meta'])); } }
Send a notification email
Send a notification email to the administrator when a user profile is updated.
add_action('edit_user_profile_update', 'send_notification_email'); function send_notification_email($user_id) { $user = get_userdata($user_id); $admin_email = get_option('admin_email'); wp_mail($admin_email, 'User Profile Updated', 'User ' . $user->user_login . ' has updated their profile.'); }
Log user profile updates
Log user profile updates in a custom log file.
add_action('edit_user_profile_update', 'log_user_profile_update'); function log_user_profile_update($user_id) { $log_message = 'User ID ' . $user_id . ' profile has been updated. Time: ' . date('Y-m-d H:i:s'); error_log($log_message, 3, '/path/to/your/custom-log.log'); }
Check user role
Check if the user being updated has a specific role and perform an action.
add_action('edit_user_profile_update', 'check_user_role'); function check_user_role($user_id) { $user = get_userdata($user_id); if (in_array('editor', $user->roles)) { // Perform an action if the user has the 'editor' role } }
Remove user role
Remove a specific role from a user when their profile is updated.
add_action('edit_user_profile_update', 'remove_user_role'); function remove_user_role($user_id) { $user = new WP_User($user_id); if ($user->has_cap('editor')) { $user->remove_role('editor'); } }