mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-04-09 15:14:37 +00:00
I18N: Introduce a user-specific language setting.
By enabling the user to select their preferred locale when editing the profile, we allow for greater personalization of the WordPress admin and therefore a better user experience. The back end will be displayed in the user's individual locale while the locale used on the front end equals the one set for the whole site. If the user didn't specify a locale, the site's locale will be used as a fallback. The new `locale` property of the `WP_User` class can be used to retrieve the user's locale setting. Props ocean90, ipm-frommen, swissspidy. Fixes #29783. git-svn-id: https://develop.svn.wordpress.org/trunk@38705 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -1358,6 +1358,7 @@ function validate_username( $username ) {
|
||||
* @since 2.0.0
|
||||
* @since 3.6.0 The `aim`, `jabber`, and `yim` fields were removed as default user contact
|
||||
* methods for new installs. See wp_get_user_contact_methods().
|
||||
* @since 4.7.0 The user's locale can be passed to `$userdata`.
|
||||
*
|
||||
* @global wpdb $wpdb WordPress database abstraction object.
|
||||
*
|
||||
@@ -1392,6 +1393,7 @@ function validate_username( $username ) {
|
||||
* @type string|bool $show_admin_bar_front Whether to display the Admin Bar for the user on the
|
||||
* site's front end. Default true.
|
||||
* @type string $role User's role.
|
||||
* @type string $locale User's locale. Default empty.
|
||||
* }
|
||||
* @return int|WP_Error The newly created user's ID or a WP_Error object if the user could not
|
||||
* be created.
|
||||
@@ -1606,6 +1608,8 @@ function wp_insert_user( $userdata ) {
|
||||
|
||||
$meta['show_admin_bar_front'] = empty( $userdata['show_admin_bar_front'] ) ? 'true' : $userdata['show_admin_bar_front'];
|
||||
|
||||
$meta['locale'] = isset( $userdata['locale'] ) ? $userdata['locale'] : '';
|
||||
|
||||
$user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $user_nicename, $user_login));
|
||||
|
||||
if ( $user_nicename_check ) {
|
||||
@@ -1965,7 +1969,7 @@ function wp_create_user($username, $password, $email = '') {
|
||||
* @return array List of user keys to be populated in wp_update_user().
|
||||
*/
|
||||
function _get_additional_user_keys( $user ) {
|
||||
$keys = array( 'first_name', 'last_name', 'nickname', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front' );
|
||||
$keys = array( 'first_name', 'last_name', 'nickname', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front', 'locale' );
|
||||
return array_merge( $keys, array_keys( wp_get_user_contact_methods( $user ) ) );
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user