Wrong activation/confirmation link in email
I've created a custom login page login.php
inside the root. (e.g.: http://www.example.com/login.php
)
/*
LOGIN PAGE.
*/
// Login URL.
function custom_login_url($login_url, $redirect, $force_reauth ) {
$login_url = home_url( 'login.php', 'login' );
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;
}
// Lostpassword URL.
function custom_lostpassword_url( $lostpassword_url, $redirect = '') {
$args = array(
'action' = 'lostpassword',
);
if ( ! empty( $redirect ) ) {
$args['redirect_to'] = urlencode( $redirect );
}
if ( is_multisite() ) {
$blog_details = get_blog_details();
$wp_login_path = $blog_details-path . 'login.php';
} else {
$wp_login_path = 'login.php';
}
$lostpassword_url = add_query_arg( $args, network_home_url( $wp_login_path, 'login' ) );
return $lostpassword_url;
}
add_filter( 'lostpassword_url', 'custom_lostpassword_url', 20);
// Registration URL.
function custom_registration_url() {
return home_url( 'login.php' . '?action=register', 'login' );
}
// Custom redirect admin locations.
function custom_redirect_admin_locations() {
global $wp_rewrite;
if ( ! ( is_404() $wp_rewrite-using_permalinks() ) ) {
return;
}
$admins = array(
home_url( 'admin', 'relative' ),
);
if ( in_array( untrailingslashit( $_SERVER['REQUEST_URI'] ), $admins, true ) ) {
wp_redirect( admin_url() );
// wp_redirect( home_url( ADASTRA_ADMIN_PAGE) );
exit;
}
$logins = array(
home_url( 'login', 'relative' ),
);
if ( in_array( untrailingslashit( $_SERVER['REQUEST_URI'] ), $logins, true ) ) {
wp_redirect( wp_login_url() );
exit;
}
}
// Custom Logout URL.
function custom_logout_url($logout_url, $redirect = '') {
$args = array();
if ( ! empty( $redirect ) ) {
$args['redirect_to'] = urlencode( $redirect );
}
$logout_url = add_query_arg( $args, home_url( 'login.php' . '?action=logout', 'login' ) );
$logout_url = wp_nonce_url( $logout_url, 'log-out' );
return $logout_url ;
}
function custom_set_login_url() {
add_filter( 'login_url', 'custom_login_url', 10, 3 );
add_filter( 'logout_url', 'custom_logout_url', 15, 2 );
add_filter( 'register_url', 'custom_registration_url', 30 );
remove_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );
add_action( 'template_redirect', 'custom_redirect_admin_locations', 1100 );
}
add_action('init', 'custom_set_login_url', 9999);
Now, all the URLs are working fine BUT everytime there's a new user registers or forgots password he receives an email with two links:
- the confirmation link leading to the wrong (aka default) login page:
http://www.example.com/wp-login.php?action=rpkey=rMrHUdWY1NC1eDdHAc4elogin=averagejoe
- A link to the correct login page:
http://www.example.com/login.php
How is it possible that the system doen't uses the custom URL I gave it, I need to have just the confrmation/activation link leading to the custom login page, like:
http://www.example.com/login.php?action=rpkey=rMrHUdWY1NC1eDdHAc4elogin=averagejoe
and not using a plugin.
Can someone help me?
Thanks.
Topic password activation user-registration links theme-development Wordpress
Category Web