Как в WordPress отобразить дату последнего изменения поста?

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

Как отобразить дату последнего изменения поста?

К сожалению, стандартный функционал WordPress не позволяет показать такую информацию посетителю сайта. Она доступна лишь в админ-панели и для пользователей с правами редактора или администратора. Поэтому необходимо будет самим добавить такую функцию. Рассмотрим два метода добавления времени последнего изменения поста. В первом случае такие данные будут выводится исключительно перед контентом записи. Второй, более гибкий (и более сложный), позволит вывести эту информацию в любом месте Вашего сайта.

Способ 1. Вывод последнего изменения перед контентом

Метод подразумевает использование специального конфигурационного файла functions.php Вашей темы.

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Итак, для добавления даты последней правки поста в него необходимо добавить следующий PHP-код:

function wpshop_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('F jS, Y');
        $updated_time = get_the_modified_time('h:i a');
        $custom_content .= '<p class="last-updated">Последнее изменение: '. $updated_date . ' в '. $updated_time .'</p>'; 
    }
    $custom_content .= $content;
    return $custom_content;
}
add_filter( 'the_content', 'wpshop_last_updated_date' );

После сохранения внесенных изменений, страница записи примет следующий вид:

Страница записи

Способ 2. Вывод последнего изменения в шаблонах темы

Как уже было отмечено, этот метод является более сложным в реализации, так как он предусматривает изменение файлов Вашей темы. Кроме того, Вам нужно будет точно определить, в каком файле следует вносить правки. Обычно за вывод записей на сайте отвечают файлы single.php и archive.php.

В качестве примера рассмотрим довольно популярную WordPress-тему Twenty Sixteen, присутствующую по умолчанию после установки “движка”. В ней также выведем дату последней правки записи в самом ее начале. Для этого необходимо найти и открыть на редактирование файл /template-parts/content-single.php. Далее, после строки </header><!— .entry-header —>, следует вставить следующий PHP-код:

<?php
    $u_time = get_the_time('U');
    $u_modified_time = get_the_modified_time('U');
    if ( $u_modified_time >= $u_time + 86400 ) {
        echo "<p>Последнее изменение: ";
        the_modified_time('F jS, Y');
        echo " в ";
        the_modified_time();
        echo "</p> "; 
    }
 ?>

Редактирование файла /template-parts/content-single.php

В итоге запись будет иметь вид:

Страница записи

Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.