View difference between Paste ID: DQH8Rggi and aVaXD8vW
SHOW: | | - or go back to the newest paste.
1
add_action('personal_options_update', 'check_display_name');
2
add_action('edit_user_profile_update', 'check_display_name');
3
function check_display_name($user_id) {
4
        global $wpdb;
5-
        $unique = $wpdb->get_var($wpdb->prepare("SELECT COUNT(ID) FROM $wpdb->users WHERE display_name = %s AND ID <> %d", $_POST['display_name'], $_POST['user_id']));
5+
        $err['display'] = $wpdb->get_var($wpdb->prepare("SELECT COUNT(ID) FROM $wpdb->users WHERE display_name = %s AND ID <> %d", $_POST['display_name'], $_POST['user_id']));
6-
        if($unique >=1) {
6+
        $err['nick'] = $wpdb->get_var($wpdb->prepare("SELECT COUNT(ID) FROM $wpdb->users as users, $wpdb->usermeta as meta WHERE users.ID = meta.user_id AND meta.meta_key = 'nickname' AND meta.meta_value = %s AND users.ID <> %d", $_POST['nickname'], $_POST['user_id']));
7-
                $_POST['display_name'] = $_POST['username'];
7+
        foreach($err as $key => $e) {
8-
                add_filter('user_profile_update_errors', 'check_dm_field', 10, 3);
8+
                if($e >= 1) {
9
                        $err[$key] = $_POST['username'];
10
                        add_filter('user_profile_update_errors', "check_{$key}_field", 10, 3);
11-
 
11+
                }
12-
function check_dm_field($errors, $update, $user) {
12+
13
}
14
function check_display_field($errors, $update, $user) {
15
        $errors->add('display_name_error',__('Sorry, Display Name is already in use. It needs to be unique.'));
16-
add_action('personal_options_update', 'check_nickname_name');
16+
17-
add_action('edit_user_profile_update', 'check_nickname_name');
17+
18-
function check_nickname_name($user_id) {
18+
19
        $errors->add('display_nick_error',__('Sorry, Nickname is already in use. It needs to be unique.'));
20-
        $unique = $wpdb->get_var($wpdb->prepare("SELECT COUNT(ID) FROM $wpdb->users as users, $wpdb->usermeta as meta
20+
21-
		 WHERE users.ID = meta.user_id
21+