diff --git a/src/wp-includes/user.php b/src/wp-includes/user.php index 46143317be..9f5d9e762c 100644 --- a/src/wp-includes/user.php +++ b/src/wp-includes/user.php @@ -2063,6 +2063,32 @@ function wp_insert_user( $userdata ) { $user = new WP_User( $user_id ); + /** + * Filter a user's meta values and keys before the user is created or updated. + * + * Does not include contact methods. These are added using `wp_get_user_contact_methods( $user )`. + * + * @since 4.4.0 + * + * @param array $meta { + * Default meta values and keys for the user. + * + * @type string $nickname The user's nickname. Default is the the user's username. + * @type string $first_name The user's first name. + * @type string $last_name The user's last name. + * @type string $description The user's description. + * @type bool $rich_editing Whether to enable the rich-editor for the user. False if not empty. + * @type bool $comment_shortcuts Whether to enable keyboard shortcuts for the user. Default false. + * @type string $admin_color The color scheme for a user's admin screen. Default 'fresh'. + * @type int|bool $use_ssl Whether to force SSL on the user's admin area. 0|false if SSL is + * not forced. + * @type bool $show_admin_bar_front Whether to show the admin bar on the front end for the user. + * Default true. + * } + * @param WP_User $user User object. + */ + $meta = apply_filters( 'insert_user_meta', $meta, $user ); + // Update user meta. foreach ( $meta as $key => $value ) { update_user_meta( $user_id, $key, $value );