Changing wp-login to something else in WordPress 3.7
A lot of the time people dislike having wp-login as their url to sign in. Why, I don't know, but they do. So if you're really dying to change the sign up url this is one way to do it:
Step 1. Change .htacess
You'll want to add something like this into your htaccess file:
RewriteBase / RewriteRule ^sign-in$ wp-login.php
This will let your server know to respond to the url and send the information to the wp-login page when a request for sign-in comes by.
Step 2. Change output of wp_login_url
add_filter('login_url', 'wp_login_filterlink', 10,100);
function wp_login_filterlink($url, $redirect)
{
$old = array( "/(wp-login\.php)/");
$new = array( "sign-in");
return preg_replace( $old, $new, $url, 1);
}
Adding the above code to your functions.php will cause the link used when calling
the wordpress function wp_login_url to use your new url instead of the old.
Step 3. Filter the output of site_url
add_filter('site_url', 'wplogin_filter', 10, 3);
function wplogin_filter( $url, $path, $orig_scheme )
{
$old = array( "/(wp-login\.php)/");
$new = array( "sign-in");
return preg_replace( $old, $new, $url, 1);
}
Once again, in functions.php add the code above. This will help you out whenever
the login url is generated by the site_url function. It's important to filter
both site_url and wp_login_url so that you don't accidently end up linking to
wp-login, while it won't hurt you to do so, if your goal is to change the URL
then you want to cover all your bases.
Some notes
Even though you're using a new URL, your old wp-login.php address will still work. So if you're changing the URL for anything other than aesthetic reasons, you might want to look into plugins for your security needs.