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, '/' );
}