Set Cookies for Recently viewed products

🧩 Syntax:
<?php
add_action( 'wp_footer', 'set_recently_viewed_products_cookie' );
function set_recently_viewed_products_cookie() {
  if ( ! is_product() ) {
    return;
  }
  global $post;
  if ( isset( $_COOKIE['recently_viewed_products'] ) ) {
    $viewed_products = (array) explode( '|', wp_unslash( $_COOKIE['recently_viewed_products'] ) );
    if ( ! in_array( $post->ID, $viewed_products ) ) {
      $viewed_products[] = $post->ID;
    }
    if ( count( $viewed_products ) > 15 ) {
      array_shift( $viewed_products );
    }
  } else {
    $viewed_products = array( $post->ID );
  }
  // Set (or renew) the cookie
  setcookie( 'recently_viewed_products', implode( '|', $viewed_products ), time() + MONTH_IN_SECONDS, '/' );
}