WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress

Плагин просмотренных записей

Не подскажете, есть ли плагин, который будет выводить просмотренные записи, от конкретного компьютера, то есть, на данном компьютере, если мы посмотрели записи, то допустим в футере будут выводиться - записи которые вы посмотрели

0
Гость
5.5 лет назад
  • 2

    Для этого необязателен плагин. Можно делать записи в куки. В файле шаблона "single.php":

    //устанавливаем в браузер юзера куки-массив, "живущий" 1 час
    //необязательно писать $post->ID индексом массива; главное, чтобы каждый индекс был уникален
    setcookie('viewedProd[' . $post->ID . ']', $post->ID, time()+3600);

    В "footer.php" выведем названия просмотр. постов. Но Вы-то можете что угодно здесь вывести, ведь у Вас есть id всех просмотренных постов (в куки):

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

    Помогите разобраться, делаю все как описано но в массив получаю только одно значение(текущей записи)

    Boolean_Type 3.6 года назад

    Трудно сказать, я давно не работал с WP. Наскоро могу предположить, что проблема кроется в одном из следующих моментов:
    1) Вы зашли на страницу лишь одного поста;
    2) Вы зашли на страницу другого поста, когда куки для зайденного ранее уже "протухли";
    3) задайте дополнительно параметры path и domain в setcookie().

    MyKey 1.7 года назад

    Спасибо за помощь. У меня заработало, когда в функцию я добавил дополнительные

    <?php setcookie('viewedProd['. $post->ID .']', $post->ID, time()+3600, COOKIEPATH, COOKIE_DOMAIN, false);?>
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация