Related Posts

Ultimate Addons for Elementor causing infinite loading in Elementor
Disable auto-update Email Notifications causing critical errors

Page Redirection

On-page Javascript Redirection

				
					
				
			

Custom Login Redirection URL

				
					https://[domain.com]/wp-login.php/?redirect_to=https%3A%2F%2F[domain]%2[permalink]%2F[page]%2F&reauth=1
				
			

WordPress Registration Page Redirections

				
					// Redirect Registration Page
function my_registration_page_redirect()
{
	global $pagenow;

	if ( ( strtolower($pagenow) == 'wp-login.php') && ( strtolower( $_GET['action']) == 'register' ) ) {
		wp_redirect( home_url('/registration-url'));
	}
}

add_filter( 'init', 'my_registration_page_redirect' );
				
			
				
					// Redirect Registration Page
add_filter('register','hjs_register_url');
function hjs_register_url($link){
 /* Change wp registration url */
 return str_replace(site_url('wp-login.php?action=register', 'login'),site_url('register', 'login'),$link);
}
 
add_filter('site_url', 'hjs_fix_register_urls', 10, 3);
function hjs_fix_register_urls($url, $path, $orig_scheme){

 if ($orig_scheme !== 'login')
 return $url;
 
 if ($path == 'wp-login.php?action=register')
 return site_url('register', 'login');
 
 return $url;
}
				
			
				
					/*
Plugin Name: Nice Login URL
Plugin URI: en.bainternet.info
Description: Simple plugin to redirect login/register to a nice url
Version: 1.0
Author: bainternet
Author URI: en.bainternet.info
*/
 
// Add rewrite rule and flush on plugin activation
register_activation_hook( __FILE__, 'NLURL_activate' );
function NLURL_activate() {
    if (! get_option('permalink_structure') ){
        add_action('admin_notices', 'permalink_structure_admin_notice');
    }
    NLURL_rewrite();
    flush_rewrite_rules();
}
 
// Flush on plugin deactivation
register_deactivation_hook( __FILE__, 'NLURL_deactivate' );
function NLURL_deactivate() {
    flush_rewrite_rules();
}
 
// Create new rewrite rule
add_action( 'init', 'NLURL_rewrite' );
function NLURL_rewrite() {
    add_rewrite_rule( 'login/?$', 'wp-login.php', 'top' );
    add_rewrite_rule( 'register/?$', 'wp-login.php?action=register', 'top' );
    add_rewrite_rule( 'forgot/?$', 'wp-login.php?action=lostpassword', 'top' );
}
 
 
//register url fix
add_filter('register','fix_register_url');
function fix_register_url($link){
    return str_replace(site_url('wp-login.php?action=register', 'login'),site_url('register', 'login'),$link);
}
 
//login url fix
add_filter('login_url','fix_login_url');
function fix_login_url($link){
    return str_replace(site_url('wp-login.php', 'login'),site_url('login', 'login'),$link);
}
 
//forgot password url fix
add_filter('lostpassword_url','fix_lostpass_url');
function fix_lostpass_url($link){
    return str_replace('?action=lostpassword','',str_replace(network_site_url('wp-login.php', 'login'),site_url('forgot', 'login'),$link));
}
 
//Site URL hack to overwrite register url
add_filter('site_url','fix_urls',10,3);
function fix_urls($url, $path, $orig_scheme){
    if ($orig_scheme !== 'login')
        return $url;
    if ($path == 'wp-login.php?action=register')
        return site_url('register', 'login');
 
    return $url;
}
//notice if user needs to enable permalinks 
function permalink_structure_admin_notice(){
    echo '<div id="message" class="error"><p>Please Make sure to enable <a href="options-permalink.php">Permalinks</a>.</p></div>';
}