Well, considering rewrite and redirect like in comments –
choose what fits you best .
HOOK wp_login_url();
//this function generate the login url address
Example:
add_filter( 'login_url', 'another_login_url', 10, 2);
function another_login_url( $force_reauth, $redirect ){
$login_url="your_chosen_login_url";
if ( !empty($redirect) )
$login_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $login_url );
if ( $force_reauth )
$login_url = add_query_arg( 'reauth', '1', $login_url ) ;
return $login_url ;
}
Redirect action
add_action( 'login_redirect', 'mysite_login_redirect');
function mysite_login_redirect(){
return 'your_url';
}
.htaccess rewrite URL
RewriteRule ^login$ http://site.com/wp-login.php [NC,L]
.htaccess redirect rule
RewriteRule ^login$ http://site.com/wp-login.php [NC,L,R]
Personally I prefer the rewrite function
add_rewrite_rule()
add_action( 'init', 'k99_login_rewrite' );
function k99_login_rewrite() {
add_rewrite_rule( 'login/?$', 'wp-login.php', 'top' );
}
NOTE : some of those methods can change according to wp version, but in the latest versions all should work.
THere are also other methods, if you find none of those suitable for you ..