Как показать дату последнего обновления в статьях WordPress
Если вы используете профессиональную тему WordPress, ваши записи, вероятно, уже показывают дату публикации. Это нормально, но когда статьи регулярно обновляются, полезно показывать дату последнего обновления: пользователи сразу понимают, насколько свежая информация.
Для этого есть три основных подхода:
- Добавить пользовательский код в файл ‘functions.php’.
- Изменить файлы темы напрямую (‘index.php’, ‘single.php’, ‘page.php’ и/или части шаблонов контента).
- Использовать готовый плагин.
Ниже — подробные инструкции с примерами, дополненные чеклистами, тестами и рекомендациями по развёртыванию.
1. Добавление кода в файл functions.php
Самый устойчивый способ — добавить функцию, которая будет проверять дату публикации и дату последней модификации, и при необходимости вставлять блок “последнего обновления” в начало содержимого записи.
Важно: всегда делайте резервную копию файла ‘functions.php’ и по возможности работайте через дочернюю тему (child theme) или плагин для снижения риска потери правок при обновлении темы.
Пример кода, который можно вставить в ‘functions.php’:
function wpb_last_updated_date($content){
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
$custom_content = '';
// показываем только если прошло больше суток или дата изменилась
if($u_modified_time >= $u_time + 86400){
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= 'Последнее обновление: ' . $updated_date . ' в ' . $updated_time . '
';
}
$custom_content .= $content;
return $custom_content;
}
add_filter('the_content','wpb_last_updated_date');Как это работает:
- get_the_time(‘U’) возвращает время публикации в UNIX‑формате.
- get_the_modified_time(‘U’) возвращает время последней модификации.
- Если время модификации отличается (здесь мы требуем минимум +86400 секунд = 24 часа), добавляется абзац с классом ‘last-updated’.
Советы по стилю:
- В CSS добавьте правило для .last-updated, чтобы оформить текст, отступы или иконку.
- Вы можете менять формат даты и времени, передавая другие форматы в get_the_modified_time и get_the_modified_date.
Пример простого CSS:
.last-updated{
font-size: 0.95rem;
color: #6b6b6b;
margin-bottom: 1rem;
}Когда не использовать этот способ
- Если вы не хотите менять содержимое через фильтр the_content (например, нужны точные позиции в шаблоне) — лучше править шаблон темы.
- Если сайт сильно кешируется и вывод модификации должен быть вне кэшируемой области — нужно учитывать стратегию кэширования.
2. Прямое изменение файлов темы
Если вы хотите точный контроль над местом и разметкой, лучше вставить вывод даты прямо в шаблон темы. Чаще всего это ‘single.php’, частичный шаблон ‘content-single.php’ или любой файл, который отвечает за вывод метаданных записи.
Код для вставки в нужное место шаблона (например, после заголовка или метаданных):
get_the_time('U')) {
echo 'Обновлено: ' . get_the_modified_date('j F Y') . ' в ' . get_the_modified_time('H:i') . '
';
}
?>Где вставлять:
- В однофайловых темах — обычно внутри ‘single.php’ рядом с выводом даты публикации.
- В современных темах — найдите функции или шаблоны метаданных (часто в files like template-parts/content-*.php) и вставьте туда.
- Используйте дочернюю тему, чтобы не потерять изменения при обновлении.
Плюсы и минусы:
- Плюс: точный контроль над HTML и позиционированием.
- Минус: требует правки темы, небезопасно в родной теме без child theme.
3. Использование плагина
Если вы не хотите править код — используйте плагин. Плюс: быстро, GUI для настройки. Минус: ещё один плагин в системе.
Рекомендации по плагинам (примеры решений, доступных в каталоге WordPress):
- WP Last Modified Info — добавляет видимый блок с датой модификации и поддерживает вывод в метаданных.
- Simple Last Modified или Last Modified Timestamp — лёгкие варианты с базовой настройкой.
Общие шаги:
- В админке: Плагины → Добавить новый → введите название → Установить → Активировать.
- Настройка: выберите, где показывать дату, формат и видимость.
- Протестируйте совместимость с кэшем и с вашим SEO‑плагином.
Важные моменты при использовании плагина:
- Проверьте, не добавляет ли плагин лишний HTML, который ломает микроразметку.
- Если используете серверный кэш, убедитесь, что кэш очищается при обновлении записи.
SEO и микроразметка
Чем полезен показ даты последнего обновления:
- Повышает доверие пользователей к актуальности информации.
- Помогает поисковым системам понять, что контент обновлялся.
Совет по schema.org: укажите dateModified в блоке Article/NewsArticle. Например, если у вас генерация JSON‑LD, обновляйте поле dateModified при сохранении поста. Многие SEO‑плагины автоматически подставляют dateModified из WordPress API.
Кеширование и частые ошибки
- Статический кэш (например, Varnish, плагин кэша или CDN) может показывать старую дату. Решение: настроить очистку кэша при обновлении записи или выводить дату через ajax/edge‑side includes.
- Если вы вставили дату в content через фильтр, убедитесь, что её не удаляет другой плагин или тема.
Критерии приёмки
- На странице записи отображается текст о последнем обновлении только если дата модификации позже даты публикации.
- Текст соответствует стилю сайта и доступен для чтения на мобильных устройствах.
- При обновлении записи дата на live‑сайте обновляется в течение допустимого времени (с учётом кэша).
- JSON‑LD/микроразметка содержит актуальное dateModified.
Чеклист по ролям
Для администратора:
- Сделана резервная копия темы и базы данных.
- Протестировано на staging перед rollout.
Для разработчика:
- Реализован вывод (functions.php или шаблон).
- Добавлен CSS и адаптивность.
- Добавлены тесты/проверки кэширования.
Для контент‑менеджера:
- Проверить несколько записей: без изменений, с недавними правками, старые записи.
- Подтвердить корректность формата даты и локализацию.
Тестовые сценарии и критерии
- Сценарий: запись опубликована сегодня без изменений — ожидание: блок “последнего обновления” не показывается.
- Сценарий: запись обновлена через час — ожидание: блок показывается (если политика показывает любое изменение) или только если прошло >24 ч (в зависимости от реализации).
- Сценарий: кэш включён — ожидание: после обновления записи кэш автоматически очищается и дата обновляется.
Мини‑методология развёртывания (SOP)
- Создайте резервную копию темы и базы данных.
- Реализуйте изменение в локальной среде или на staging.
- Прогоните чек‑листы и тесты выше.
- Деплой на продакшн в окно с минимальным трафиком.
- Наблюдайте 24–48 часов и корректируйте при необходимости.
1‑строчный глоссарий
- get_the_time: возвращает время публикации записи.
- get_the_modified_time: возвращает время последней модификации записи.
- dateModified: поле schema.org для даты последней модификации.
Решение: какой метод выбрать
flowchart TD
A[Нужен быстрый результат без кода?] -->|Да| B[Плагин]
A -->|Нет| C[Хотите точный контроль?]
C -->|Да| D[Изменить шаблон темы]
C -->|Нет| E[Добавить фильтр в functions.php]
B --> F[Проверьте кэш]
D --> F
E --> FКороткое объявление для команды (100–200 слов)
Добавляем на сайт метку “последнее обновление” возле записей, чтобы пользователи видели, когда информация была обновлена. Это улучшит доверие посетителей и качество отображения в поиске. Для реализации можно выбрать один из трёх подходов: установить плагин, вставить проверку в шаблон темы или добавить фильтр в ‘functions.php’. Перед релизом делаем резервную копию, тестируем на staging и проверяем кэш. Ожидаемые эффекты: меньше вопросов от пользователей о старой информации, легче поддерживать актуальность материалов. Пожалуйста, протестируйте на нескольких типах записей и подтвердите корректность локализации дат.
Краткое резюме
- Три подхода: functions.php, шаблон темы, плагин.
- Проверяйте кэш и микроразметку dateModified.
- Используйте дочернюю тему или staging для безопасных изменений.
Вопросы или нужно помочь адаптировать код под конкретную тему — напишите, укажу точные места и дам готовый сниппет.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента