Последние просмотренные записи
Кто как реализовывал, поделитесь кодами
Нашел решение для меня, но буду допиливать, это выдержки из кода, - код плодит куки, думаю сделать массивом, и переписывать массив а не добавлять куки.
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);
}
}
Остановился на этом, достаточно подогнать миниатюры и остальные данные по 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); }