Довольно часто встречаются сайты, которые постоянно обновляют свои записи, приводя информацию к актуальному виду. И было бы логично, чтобы вместо или даже вместе с датой датой публикации, пользователи видели дату последнего редактирования записи. Собственно дальше о том как это сделать.
Есть ли необходимость отображать дату последнего редактирования записей в вашем блоге?
Большинство тем оформления для WordPress обычно отображают дату когда запись была впервые опубликована, такой подход больше подходит для большинства блогов и статических сайтов.
Тем не менее, многие сайты разработанные на WordPress, часто имею обновляемый контент — старые статьи постоянно редактируются, дополняются (например, как у меня). Поэтому, дата и время последнего редактирования является важной информацией для таких записей.
Хорошим примером могут послужить новостные сайты. Их статьи часто редактируются чтобы внести корректировки и уточнения, добавить фото- аудио- или видео-файлы. Если такие записи будут отображать только старую дату, то пользователи могут упустить из виду обновленную информацию.
Многие популярные блоги и сайты вообще не отображают никакой даты в своих статьях. Это довольно плохая практика, и лучше вам никогда не убирать дату в своих статьях.
Итак, как же добавить дату последнего редактирования записей в WordPress?
Вывод даты последнего редактирования записи в WordPress
Способ 1: Вывести дату последнего редактирования непосредственно перед записью
Все что вам нужно, это добавить нижеприведенный код в файл functions.php вашей темы, для этого лучше воспользоваться возможностями дочерних тем. Или же добавить код через админку, используя плагин Code Snippets.
function last_updated_date( $content ) { $u_time = get_the_time('U'); $u_modified_time = get_the_modified_time('U'); if ($u_modified_time >= $u_time + 86400) { $updated_date = get_the_modified_time('j F Y'); $updated_time = get_the_modified_time('H:i'); $custom_content .= '<p class="last-updated">Обновлено: '. $updated_date . ', в '. $updated_time .'</p>'; } $custom_content .= $content; return $custom_content; } add_filter( 'the_content', 'last_updated_date' );
Этот код проверяет: отличается ли дата публикации от даты последнего изменения записи. Если да, то отображает дату последнего изменения прямо перед записью.
Вы также можете использовать стили CSS, чтобы изменить внешний вид даты последнего редактирования. Например вы можете начать с этого небольшого кода CSS:
.last-updated {
font-size: small;
background-color: #fffdd4;
}
Вот как это выглядит на моем тестовом сайте:
Способ 2: Добавить дату последнего редактирования в шаблон темы оформления
Этот способ предполагает, что у вас есть опыт работы с файлами темы оформления (шаблонами), так как вам необходимо найти файл который отвечает за вывод полной записи в блоге.
Обычно, необходимый в данном случае файл, имеет имя single.php, или другое, но так или иначе почти всегда содержащий слово single.
Далее вам нужно найти код отвечающий за вывод даты публикации записи, и вместо него вставить нижеприведенный код. Или если хотите чтобы обе даты располагались рядом, вставьте код ниже стандартного, который отвечает за вывод даты добавления записи.
<?php
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
echo "<br><span>Обновлено: ";
the_modified_time('j F Y');
echo ", в ";
the_modified_time();
echo "</span> ";
}
?>
Вот как это выглядит на моем тестовом сайт: