WordPress Single User Session

I’m using the Current version of WordPress (4.2.4) and woocommerce (2.3.6).

Problem: Don’t let users share their login details to the site.

Read More

Old Solution: The Answer to this question has been working until now.

What i need: Can anyone see what’s wrong with this code & why it wouldn’t work with the new WordPress update (4.2.4).
Or offer up another solution.

Code from answer by @manoj-dhiman:
how can I prevent multiple login from same user id from different browsers in wordpress?

if( !class_exists( 'WPSingleUserLoggin' ) ) {
class WPSingleUserLoggin
{
    private $session_id; 

    function __construct()
    {
        if ( ! session_id() )
            session_start();

        $this->session_id = session_id();

        add_action( 'init', array( $this, 'init' ) );
        add_action( 'wp_login', array( $this, 'wp_login' ), 10, 2 );
    }

    function init()
    {
        if( ! is_user_logged_in() )
            return;

        $stored_sess_id = get_user_meta( get_current_user_id(), '_wp_single_user_hash', true );

        if( $stored_sess_id != $this->session_id )
        {
            wp_logout(); 
            wp_redirect( wp_login_url() );
            exit;
        }
    }
    function wp_login( $user_login, $user )
    {
        update_user_meta( $user->ID, '_wp_single_user_hash', $this->session_id );
        return;
    }
}
new WPSingleUserLoggin();
}

Related posts