Как выделить новые посты для постоянных посетителей

Как выделить новые посты для постоянных посетителей | n-wp.ru
Небольшой код, позволяющий визуально выделять новые посты. Он работает только для постоянных посетителей.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Как выделить новые посты для постоянных посетителей

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

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

Добавьте в файл functions.php используемой вами темы:

 
function tpp_lastvisit_the_title ( $title, $id ) {
    if ( !in_the_loop() || is_singular() || get_post_type( $id ) == 'page' ) return $title;
    if ( !isset($_COOKIE['lastvisit']) ||  $_COOKIE['lastvisit'] == '' ) return $title;
    $lastvisit = $_COOKIE['lastvisit'];
    $publish_date = get_post_time( 'U', true, $id );
    if ($publish_date > $lastvisit) $title .= '<span class="new-article"> — новый пост</span>';
    return $title;
}

add_filter( 'the_title', 'tpp_lastvisit_the_title', 10, 2);

function tpp_lastvisit_set_cookie() {
    if ( is_admin() ) return;
    $current = current_time( 'timestamp', 1);
    setcookie( 'lastvisit', $current, time()+60+60*24*7, COOKIEPATH, COOKIE_DOMAIN );
}

add_action( 'init', 'tpp_lastvisit_set_cookie' );

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

Давайте создадим оформление для элемента new-article. Для этого добавьте в файл style.css:

.new-article {color:#E51400;}

Тут вы можете проявить фантазию, придумав яркое оформление, сразу попадающее в поле зрения.

Как работает этот код? Для определения новизны поста используются куки. Посетитель заходит на сайт, и сайт, ориентируясь на куки, вычисляет, какие посты были опубликованы во время отсутствия посетителя с прошлого раза. Если куки посетителя не были обнаружены, то посты не выделяются, как новые.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

×
WordPress:
прокачай свой сайт!

Скидка на премиум темы и плагины

Успей забрать скидку ⋙