Advertisement
sysReboot

Make Display_name & Nickname Unique in WP

Nov 28th, 2013
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  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']));
  6. if($unique >=1) {
  7. $_POST['display_name'] = $_POST['username'];
  8. add_filter('user_profile_update_errors', 'check_dm_field', 10, 3);
  9. }
  10. }
  11.  
  12. function check_dm_field($errors, $update, $user) {
  13. $errors->add('display_name_error',__('Sorry, Display Name is already in use. It needs to be unique.'));
  14. return false;
  15. }
  16. add_action('personal_options_update', 'check_nickname_name');
  17. add_action('edit_user_profile_update', 'check_nickname_name');
  18. function check_nickname_name($user_id) {
  19. global $wpdb;
  20. $unique = $wpdb->get_var($wpdb->prepare("SELECT COUNT(ID) FROM $wpdb->users as users, $wpdb->usermeta as meta
  21. WHERE users.ID = meta.user_id
  22. AND meta.meta_key = 'nickname'
  23. AND meta.meta_value = %s
  24. AND users.ID <> %d", $_POST['nickname'], $_POST['user_id']));
  25. if($unique >=1) {
  26. $_POST['nickname'] = $_POST['username'];
  27. add_filter('user_profile_update_errors', 'check_nick_field', 10, 3);
  28. }
  29. }
  30.  
  31. function check_nick_field($errors, $update, $user) {
  32. $errors->add('nickname_error',__('Sorry, Nickname is already in use. It needs to be unique.'));
  33. return false;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement