Как сделать сообщение об устаревшей записи WordPress

Уведомление об устаревшей записи в WordPress может быть полезным для сайтов с динамичным контентом. Это особенно подходит для материала, который со временем может терять свою актуальность. Например, новостные статьи, руководства, техническая информация и SEO-подсказки. Таким образом, сообщение остерегает посетителей от использования устаревших данных и поддерживает актуальность контента.

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

Создаем сообщение об устаревшей записи WordPress

Наш код состоит из трех функций, которые совместно реализуют данную функциональность. Вам нужно добавить весь этот код в файл functions.php.

// Добавляем сообщение об устаревшей записи в начало контента
function ws_add_obsolete_message($content) {
    if (is_single() && ws_is_stale_post()) {
        $days_ago = ws_days_since_post();
        $message = '<div class="ws-obsolete-message">Эта статья была опубликована ' . $days_ago . ' дней назад и может быть устаревшей. Рекомендуем проверить актуальность информации.</div>';
        $content = $message . $content;
    }
    return $content;
}
add_filter('the_content', 'ws_add_obsolete_message');

// Проверяем, устарела ли запись
function ws_is_stale_post() {
    $current_date = date('Y-m-d');
    $post_date = get_the_date('Y-m-d');
    $days_difference = abs(strtotime($current_date) - strtotime($post_date)) / (60 * 60 * 24);

    return ($days_difference > 1); // Устанавливаем срок устаревания в днях
}

// Получаем количество дней с момента публикации записи
function ws_days_since_post() {
    $current_date = date('Y-m-d');
    $post_date = get_the_date('Y-m-d');
    $days_difference = abs(strtotime($current_date) - strtotime($post_date)) / (60 * 60 * 24);
    return round($days_difference);
}

Для оформления мы используем стили, которые нужно добавить в файл style.css.

.ws-obsolete-message {
    background-color: #ffcccb;
    color: #c4183c;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
}

Как это работает?

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

Функция ws_is_stale_post проверяет разницу между текущей датой и датой публикации записи. Если разница превышает определенное количество дней (в данном случае, 1 день), то запись считается устаревшей.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *