Cookie Tasting

plugin banner

Detect user login only with cookie. The best helper for cached WordPress sites.

Author:Tarosky INC. (profile at wordpress.org)
WordPress version required:5.0
WordPress version tested:5.5.5
Plugin version:1.0.11
Added to WordPress repository:14-03-2019
Last updated:27-10-2020
Rating, %:100
Rated by:1
Plugin URI:https://wordpress.org/plugins/cookie-tasting/
Total downloads:1 159
Active installs:10+
plugin download
Click to start download

This plugin sets user cookie when user is logged in.
You can use cookie as data store,
so you can use it as UI resource.

Visibility

This plugin adds class to html element.

  • ct-logged-in The current user is logged in.
  • ct-not-logged-in The current user is anonymous.

You can control elements visibility with CSS.

.some-element{
  display: none;
}
.ct-logged-in .some-element{
  display: block;
}

From JavaScript

You can use Global Object CookieTasting for utility.

  • CookieTasting.userName() Returns user name. If not logged in, returns ‘Guest’.
  • CookieTasting.lastUpdated() Returns timestamp of last log in check. If this equals 0, it means that user is anonymous.

Besides that, this plugin checks periodically log-in status.
You can handle it with jQuery.

jQuery( document ).on( 'cookie.tasting', function( event, response ) {
  if ( response.login ) {
    // User is logged in.
    // If you use React...
    setAttributes({ name: CookieTasting.userName() })
  } else {
    // User is not logged in.
  }
} );

If you use react or something, updated the status with setState().

Check Before Action

If you manage cached WordPress and customizing your own theme,
It’s a good idea to implement dynamic UI components with JavaScript.

You can check user’s credential just before important actions.

// Click action for button.
$('.read-more').click( function( e ) {
  e.preventDefault();
  // Check cookie before do something.
  CookieTasting.testBefore().then( function( response ) {
    // Now user has fresh information.
    // Load premium contents.
    loadPremiumContents();
  }).catch( function( response ) {
    // This user is not logged in.
    // Redirect them to login page.
    window.locaion.href = '/wp-login.php';
  } );
} );

Plese remember adding dependency for cookie-tasting-heartbeat to your script.

Handle UUID

By default, this plugin set UUID for each user. This will be…

  • Unique for each logged in user and will be saved as user_meta.
  • Also kept for anonymous user.

So you can use it for Google Analytic’s User ID View.

const uuid = CookieTasting.get( 'uuid' );
// For Google Analytics.
ga( 'set', "userId", uid );

FAQ
ChangeLog