How can I allow access to two user accounts using one login?

2017-11-10 08:48:08

I have spent the last two hours searching for this and I cannot find a solution to my problem.

I have a WP site with WooCommerce running which allows to users to create their own store.

My client has a scenario he needs two stores, but without having to login and logout every time to check this data.

I've already checked "User Switching" but its functionality is limited.

It only allows you to switch to a user from the backend, which doesn't help because the access to WP Dashboard is locked.

I found a repo which adds User Switch to the WP Admin bar. The WP Admin bar though is not visible to users. Even if I keep the bar open the problem is that it allows you to search through all users and get access to any account you want, but I need the user to be able to only switch between specific accounts.

I searched for other solutions but I cannot find anything out there.

Any suggestions would be greatly appreciated!

I would reverse engineer the User Switching plugin

  • I would reverse engineer the User Switching plugin and then create a solution that works for you. Fortunately there is not a whole lot of work to do. Most of the crucial functionality is in this function:

    function switch_to_user( $user_id, $remember = false, $set_old_user = true ) {

    if ( ! $user = get_userdata( $user_id ) ) {

    return false;


    $old_user_id = get_current_user_id();

    if ( $set_old_user && $old_user_id ) {

    user_switching_set_olduser_cookie( $old_user_id );

    } else {

    user_switching_clear_olduser_cookie( false );



    wp_set_auth_cookie( $user_id, $remember );

    wp_set_current_user( $user_id );

    if ( $set_old_user ) {

    do_action( 'switch_to_user', $user_id, $old_user_id );

    } else {

    do_action( 'switch_back_user', $user_id, $old_user_id );


    return $user;


    You could just maintain a list of "linked accounts" for each user to determine if a user is allowed to swit

    2017-11-10 09:10:31