• Resolved Luigino

    (@luigino)


    Hello everyone!

    I installed on my website WPS Hide Login and since this morning it was working well accessing directly to wp-admin once admin logged but now it looks like once logged it redirects to homepage instead to wp-admin and I have to write wp-admin on URL to show panel admin. So:
    – I tried to uninstall and delete plugin then reinstall but without success
    – on CPanel my website is settled with SSL Certificate and settled with Force redirect to HTTPS

    What I could do? Maybe I have to modify/check something in tables?

    Thanks in advance!
    Cheers

Viewing 5 replies - 1 through 5 (of 5 total)
  • Thread Starter Luigino

    (@luigino)

    I checked the htaccess of the server and it’s settled as

    # BEGIN WordPress
    # Le direttive (linee) tra <code>BEGIN WordPress</code> e <code>END WordPress</code> sono
    # generate dinamicamente, e dovrebbero essere modificate solo tramite i filtri di WordPress.
    # Ogni modifica alle direttive tra questi marcatori verrà sovrascritta.
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress

    Could be something of this .htaccess the cause of missing redirect to wp-admin panel?

    Thanks in advance!
    Cheers

    Plugin Support MaximeWPS

    (@seinomedia)

    Hello,

    Thanks for using WPS Hide Login.

    Did you download another plugin with this kind of functionality ?

    Did you insert any snippet in your functions.php ?

    Thread Starter Luigino

    (@luigino)

    HI @seinomedia !

    First thank you for your answer!
    In fact in my functions.php ‘s theme I added this to manage 5 languages:

    function my_logout_redirect($items){
      foreach($items as $item){
        if( $item->url == "https://XXXXXXXXXXXX/es/YYYYYYYYYYYYY/?action=logout") {
    		 $item->url = "https://XXXXXXXXXXXX/YYYYYYYYYYYYY/?action=logout&redirect_to=https%3A%2F%2FXXXXXXXXXXXX%2Fes%2F" . "&_wpnonce=" . wp_create_nonce( 'log-out' );
        }
    	if( $item->url == "https://XXXXXXXXXXXX/en/YYYYYYYYYYYYY/?action=logout") {
    		 $item->url = "https://XXXXXXXXXXXX/YYYYYYYYYYYYY/?action=logout&redirect_to=https%3A%2F%2FXXXXXXXXXXXX%2Fen%2F" . "&_wpnonce=" . wp_create_nonce( 'log-out' );
        }
    	if( $item->url == "https://XXXXXXXXXXXX/fr/YYYYYYYYYYYYY/?action=logout") {
    		 $item->url = "https://XXXXXXXXXXXX/YYYYYYYYYYYYY/?action=logout&redirect_to=https%3A%2F%2FXXXXXXXXXXXX%2Ffr%2F" . "&_wpnonce=" . wp_create_nonce( 'log-out' );
        }
    	if( $item->url == "https://XXXXXXXXXXXX/de/YYYYYYYYYYYYY/?action=logout") {
    		 $item->url = "https://XXXXXXXXXXXX/YYYYYYYYYYYYY/?action=logout&redirect_to=https%3A%2F%2FXXXXXXXXXXXX%2Fde%2F" . "&_wpnonce=" . wp_create_nonce( 'log-out' );
        }
    	if( $item->url == "https://XXXXXXXXXXXX/it/YYYYYYYYYYYYY/?action=logout" ) {
    		 $item->url = "https://XXXXXXXXXXXX/YYYYYYYYYYYYY/?action=logout&redirect_to=https%3A%2F%2FXXXXXXXXXXXX%2Fit%2F" . "&_wpnonce=" . wp_create_nonce( 'log-out' );
        }
    	
      }
      return $items;
    }
    add_filter('wp_nav_menu_objects', 'k3_logout_redirect');
    
    function k3_login_redirect( $redirect_to, $request, $user ) {
    	$current_language = isset($_COOKIE['pll_language']) ? $_COOKIE['pll_language'] : false;	
    	
    	file_put_contents( '/debug_login.txt', print_r( 'Debug check: '. $current_language . ' - ' . substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) . PHP_EOL, true ), FILE_APPEND );
    	
    	if ($current_language == "it" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2)) 
    		return "https://XXXXXXXXXXX/it/";		
    	if ($current_language == "en" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2)) 
    		return "https://XXXXXXXXXXX/en/";
    	if ($current_language == "es" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2)) 
    		return "https://XXXXXXXXXXX/es/";
    	if ($current_language == "fr" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2)) 
    		return "https://XXXXXXXXXXX/fr/";
    	if ($current_language == "de" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2)) 
    		return "https://XXXXXXXXXXX/de/";
    	
    	return home_url();
    }
    add_filter( 'login_redirect', 'k3_login_redirect', 10, 3 );

    where XXXXXXXXXXX is the domain and YYYYYYYYYYYYY is the fake path where hide login… maybe could because of this snippet?
    Because I written that due if someone , for example spanish guy , goes to Italy and on an italian PC wants to visit the site in spanish when normally wordpress works with native browser language….

    Thanks in advance!
    Cheers:-)

    Thread Starter Luigino

    (@luigino)

    After some investigation I considered those two scenarios:

    1°) I am in my country and I use the website in local language which is browser’s one;
    2°) I am in another country and I use the website in my language selecting language by Polylang so pll_current_language() != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

    Having WPS Hide Login settled without any redirection fields settled and Success Endpoint deactivated to manage by language I reached to manage logouts correctly between those two scenarios to redirect to homepage with logout_url hook:

    function my_logout_redirect($link) { 
      	
      	$session_lang = pll_current_language();	
    	$browser_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    
    	if ($session_lang != $browser_lang && ! is_admin() ) {
    		$redirect_url = "https://example.com/wpshidelogin/?action=logout&redirect_to=https%3A%2F%2Fexample.com%2F" . $session_lang . "%2F" . "&_wpnonce=" . wp_create_nonce( 'log-out' );
    		return $redirect_url;				
    	} 
    	if ($session_lang == $browser_lang && ! is_admin() ) {
    		$redirect_url = "https://example.com/wpshidelogin/?action=logout&redirect_to=https%3A%2F%2Fexample.com%2F" . "&_wpnonce=" . wp_create_nonce( 'log-out' );
    		return $redirect_url;
    	}
    	if (is_admin()) {
    		$redirect_url = "https://example.com/wpshidelogin/?action=logout&redirect_to=https%3A%2F%2Fexample.com%2F" . "&_wpnonce=" . wp_create_nonce( 'log-out' );
    		return $redirect_url;
    	}		
    	return $link;	
    }
    add_filter( 'logout_url', 'my_logout_redirect', 10, 3);

    but to manage login, redirecting to homepage once logged, it looks like a bit messing up using this code:

    function my_login_redirect( $redirect_to, $request, $user ) {
    //function my_login_redirect() {
    	$session_lang = pll_current_language();	
    	$browser_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    	$redirect_url = "";
    		
    	if (!is_admin()) {
    		$redirect_url = "https://example.com" . ( ($session_lang != $browser_lang ) ? $session_lang : "" ) . "/";
    	}
    	if (is_admin())
    		$redirect_url = admin_url();
    
    	/*
    	if ($current_language == "it" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) && current_user_can('administrator') == false) 
    		return "https://example.com/it/";
    	else 
    		return "https://example.com/wp-admin";
    	if ($current_language == "en" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) && current_user_can('administrator') == false) 
    		return "https://example.com/en/";
    	else	
    		return "https://example.com/wp-admin";
    	if ($current_language == "es" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) && current_user_can('administrator') == false) 
    		return "https://example.com/es/";
    	else
    		return "https://example.com/wp-admin";
    	if ($current_language == "fr" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) && current_user_can('administrator') == false) 	
    		return "https://example.com/fr/";
    	else	
    		return "https://example.com/wp-admin";
    	if ($current_language == "de" && $current_language != substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) && current_user_can('administrator') == false) 
    		return "https://example.com/de/";
    	else
    		return "https://example.com/wp-admin";
    	*/
    	
    	//return home_url();
    	//wp_safe_redirect($redirect_url);
    	//exit;
    	return $redirect_url;
    }
    //add_action('wp_login', 'my_login_redirect');
    add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );

    where it always goes to login page (yes, as login page I created a page with [xoo_el_inline_form active=”login”] shortcode since I use Login/Signup Popup plugin for login/logouts…. even if I log in in admin panel it goes to Login page instead of wp-admin…
    Any suggests?

    Thanks in advance!
    Cheers

    Plugin Support MaximeWPS

    (@seinomedia)

    Hello,

    WPS Hide Login is known by Polylang.

    Than, you can ask them if any confiugration are required or advised with the Polylang plugin.

    If any filter si required, you can give it to us and we’ll insert it into the next release.

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘After logged successful it doesn’t go directly to wp-admin’ is closed to new replies.