Сегодня в статье разберемся как можно отобразить дату последнего изменения поста на CMS WordPress.

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

Существуют много различных способов как изменить дату публикации вордпресс, например:

  • через SQL скрипт;
  • вручную через phpMyAdmin с выгрузкой дат из базы;
  • с использованием TextKit (программа позволяет обновлять и редактировать большие базы данных);
  • различные скрипты, которые располагаются в корне сайта; и работают при запуске из строки браузера;
  • в ручном режиме из административной части сайта;
  • автоматическое обновление даты публикации в WordPress.

Для чего нужно показывать дату последнего обновления?

Большинство тем оформления WordPress показывают дату публикации поста. Это стандартная функция, которая подходит для всех блогов.

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

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

Дата последнего изменения поста на WordPress

Чтобы выводить дату последнего изменения поста перед началом текста, скопируйте и добавьте этот код в ваш файл functions.php текущей темы оформления в самый конец файла:

<?php
function wpb_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('d.m.Y');
$updated_time = get_the_modified_time('h:i'); 
$custom_content .= '<p class="last-updated">Last updated on '. $updated_date . ' at '. $updated_time .'</p>';  
} 
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );
?>

Этот код выполняет проверку и сравнивает 2 даты: дату публикации и дату последнего изменения. Если эти даты не совпадают, тогда код выводит дату последнего изменения перед началом контента записи.

Вот еще один пример для отображения даты изменения поста. Данный код необходимо вставить в файл single.php или его аналоги, например content-single.php.

<div>Последнее изменение поста: <?php the_modified_date('F j Y года'); ?></div><br />

Место в ставки подбираете сами в зависимости от вашей темы. В моем случае я вставил перед функцией

<?php the_content(); ?>

Также можете изменить дату публикации вашего поста еще одним способом , для этого необходимо вставить вот такой код в файл function.php вашей темы.

<?php
function reset_post_date_wpse_121565($data,$postarr) {
  // var_dump($data,$postarr); die; // debug
  $data['post_date'] = $data['post_modified'];
  $data['post_date_gmt'] = $data['post_modified_gmt'];
  return $data;
}
add_filter('wp_insert_post_data','reset_post_date_wpse_121565',99,2);
?>

Примечание: Рекомендую запомнить, то что при каждом нажатии на кнопку «Обновить» в записи, будет обновляться и дата публикации вашего поста.

[endtxt]

RSS

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

0 0 голоса
Рейтинг статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять