Make WordPress Core

Ticket #4170: nicename.diff

File nicename.diff, 1.7 KB (added by andy, 19 years ago)
  • wp-includes/query.php

     
    961961                                }
    962962                        }
    963963                        $q['author_name'] = sanitize_title($q['author_name']);
    964                         $q['author'] = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_nicename='".$q['author_name']."'");
     964                        $q['author'] = get_user_by_nicename($q['author_name']);
    965965                        $whichauthor .= ' AND (post_author = '.intval($q['author']).')';
    966966                }
    967967
  • wp-includes/registration.php

     
    121121
    122122        wp_cache_delete($user_id, 'users');
    123123        wp_cache_delete($user_login, 'userlogins');
     124        wp_cache_delete($user_nicename, 'usernicenames');
    124125
    125126        if ( $update )
    126127                do_action('profile_update', $user_id);
     
    181182        return wp_create_user($username, $password, $email);
    182183}
    183184
    184 ?>
    185  No newline at end of file
     185?>
  • wp-includes/user.php

     
    179179        $user_identity  = $user->display_name;
    180180}
    181181
     182function get_user_by_nicename($nicename) {
     183        global $wpdb;
     184
     185        $user = wp_cache_get($nicename, 'usernicenames');
     186
     187        if ( $user == -1 )
     188                return false;
     189
     190        if ( $user )
     191                return $user;
     192
     193        $cache = $user = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_nicename='$nicename'");
     194
     195        if ( ! $user )
     196                $cache = -1;
     197
     198        wp_cache_add($nicename, $cache, 'usernicenames');
     199
     200        return $user;
     201}
     202
    182203?>