Последние просмотренные записи

Кто как реализовывал, поделитесь кодами
Нашел решение для меня, но буду допиливать, это выдержки из кода, - код плодит куки, думаю сделать массивом, и переписывать массив а не добавлять куки.

if ( is_user_logged_in() && current_user_can('manage_options')  ) {

	if ( $_COOKIE['lastViewedPost'] ){
	  echo 'Вы просмотрели следующие посты:<br>';
	  foreach ($_COOKIE['lastViewedPost'] as $viewedProdId ){
		$viewedProd = get_post( $viewedProdId );
		echo $viewedProd->post_title . '<br>';
	  }
	}

	if ( is_single() ){
		setcookie('lastViewedPost['. $post->ID .']', $post->ID, time()+3600, COOKIEPATH, COOKIE_DOMAIN, false);
	}

}
Заметки к вопросу:
kolshix 15 дней назад

Остановился на этом, достаточно подогнать миниатюры и остальные данные по ID.
Много глюков и логику нужно настроить, но это уже будет целый плагин, а мне достаточно маленького скрипта.

$last_cookie = $_COOKIE['lastViewedPost'] ;
$lastids = unserialize( $last_cookie ); // array('54250','54247','54244');

// Заглушка при пустом кукисе 
if ( empty ($lastids) ){
	$lastids = array(574);
}

if ( isset($_COOKIE["lastViewedPost"] ){
	echo 'Последние просмотренные записи: <br>';
	foreach ( $lastids as $viewedProdId )if ($tmp++ < 4){{
		if ( is_numeric( $viewedProdId ) ){
			$viewedProd = get_post( $viewedProdId );
			// убираем вывод текущего поста из списка
			if ( $post->ID !== $viewedProdId ) {
				echo $viewedProd->ID . '<br>';
			}   
		} else {
			echo 'Не страдай хуйнёй!';
		}
	}                   
}   else {
	echo 'пусто';
}               

if ( is_single() ){                 
	// добовляем id в начало                    
	array_unshift( $lastids, $post->ID );   
	// удаляем текущий повторяющийся id из списка 
	$lastids = array_unique( $lastids );                    
	// регулируем размер массива 
	if ( count( $lastids ) > 5 ){
		array_pop( $lastids );
	}

	$lastids = serialize($lastids);
	setcookie('lastViewedPost',  $lastids , time()+3600, COOKIEPATH, COOKIE_DOMAIN, false);
}