• Resolved pandaj

    (@pandaj)


    I have the latest WordPress update along with the latest WooCommerce update.

    The following code is in my header file:

    <div id='sales-nav'><?php if ( is_user_logged_in() ) { ?>
     	<a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('My Account','woothemes'); ?>"><?php _e('My Account','woothemes'); ?></a><a href="<?php echo wp_logout_url( home_url() ) ?>" title="Logout">Logout</a>
     <?php }
     else { ?>
     	<a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('Login / Register','woothemes'); ?>"><?php _e('Login / Register','woothemes'); ?></a>
     <?php } ?><div id='cart_container'><a href='/cart'>Cart - <?php global $woocommerce; echo "<div id='cart_total'>" . $woocommerce->cart->get_cart_total() . "</div></a></div>";?> <?php if (sizeof($woocommerce->cart->cart_contents)>0) :?>
    <a href="<?php echo $woocommerce->cart->get_checkout_url()?>" title="<?php _e('Checkout','woothemes') ?>"><?php _e('Checkout','woothemes') ?></a>
    <?php endif; ?></div>

    Everything displays perfectly, however there are a couple of problems.

    Firstly – After clicking logging out, and confirming that you want to log out, the redirect to the home page doesn’t work. You are just taken to ‘wp-login.php’.
    The first logout URL looks like:
    https://domain.com/wp-login.php?action=logout&_wpnonce=xxxxxxxxxx
    The second logout URL looks like:
    https://domain.com/wp-login.php?loggedout=true

    Now the other problem (and bigger problem) is that if you click the ‘Back to SITE_NAME’ button or just go to the site again, the user is still logged in! ‘My Account’ and ‘Logout’ still show in the header. It seems impossible to logout.

    Any help will be much appreciated!

    Thanks

    https://www.ads-software.com/extend/plugins/woocommerce/

    [No bumping, thank you.]

Viewing 6 replies - 16 through 21 (of 21 total)
  • But were you able to solve this problem .. what is the solution .. ??
    Even my logout is not working and me happen to use WooCommerce .. :/
    Please help ..

    Thread Starter pandaj

    (@pandaj)

    @jitenoswal1 it was so simple, I stupidly set the WordPress Address (URL) and Site Address (URL) to different things. Make them the same under General Settings.

    ohh yea .. sry I got that .. ?? thanks anyways .. ??

    This is happening to me as well but only on IE8. I checked my wordpress and site url and they are exactly the same. Does anyone else have another solution?

    Thanks!

    I might have the solution drop me an email on my personal email address with link to your website.

    Jiten

    [email protected]

    (@carl_eriklhotmailcom)

    I found a solution that helped me.

    My solution is changing in wp-login.php, yes i know I should not do that, so I was hoping someone could tell me what to do instead.

    My solution:
    change this in wp-login.php line 406

    case 'logout' :
    	check_admin_referer('logout');
    	wp_logout();
    
    	$redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : 'wp-login.php?loggedout=true';
    	wp_safe_redirect( $redirect_to );
    	exit();
    
    break;

    change
    check_admin_referer(‘logout’);
    to
    check_admin_referer(‘log-out’);

    Reason:
    Woocommerce creates the nonce when page loads.
    calls function wp_logout_url($redirect = ”) which creates the logout url.
    in wp-includes/general-template.php

    which creates the logout_url with among other:

    $logout_url = wp_nonce_url( $logout_url, 'log-out' );

    there is the ‘log-out’, and not as expected ‘logout’.

    someone who knows more than me should figure it out.

    kind regards
    carl erik

Viewing 6 replies - 16 through 21 (of 21 total)
  • The topic ‘[Plugin: WooCommerce – excelling eCommerce] Logout link doesn't work!’ is closed to new replies.