Дата публикации поста Wordpress под заголовком
Чтобы вывести дату публикации/обновления записи WordPress необходимо править шаблон content.php. Хуки не предусмотрены. Так что, по хорошему, нужно создать дочернюю тему и скопировать в нее этот шаблон. Как скрыть автора записи поста WordPress.
Примечание
Я использую тему Twenty Twelve, поэтому имена шаблонов и функций применимы к ней. В других темах, в большинстве случаев, имя шаблона будет таким же, а нужные функции Вы определите по аналогии.
Пример кода из шаблона content.php, который выводит мета данные поста (entry data) под ним:
<footer class="entry-meta">
<?php twentytwelve_entry_meta(); ?>
...Данные о публикации поста выводится в формате:
Запись опубликована DATE автором AUTHOR с тегами TAGS,LIST в рубрике CATEGORIES,LISTФункция twentytwelve_entry_meta() объявлена в файле functions.php, если хотите изменить формат вывода мета мнформации - переопределите эту функцию в файле functions.php дочерней темы.
В примере ниже я убрал вывод автора под постом и вывел метки вместе с тегами:
function twentytwelve_entry_meta() {
// Translators: used between list items, there is a space after the comma.
$categories_list = get_the_category_list( __( ', ', 'twentytwelve' ) );
// Translators: used between list items, there is a space after the comma.
$tag_list = get_the_tag_list( '', __( ', ', 'twentytwelve' ) );
$dateFormat = '<time class="entry-date" datetime="%1$s">%2$s</time>';
$date = vsprintf($dateFormat, [esc_attr(get_the_date('c')), esc_html(get_the_date())]);
$labels = $tag_list ?: $categories_list;
if ($labels) {
echo "<span class=\"post-labels\">$labels</span>";
}
echo "<span class=\"post-date\" title=\"Дата публикации\">$date</span>";
}Теперь, находим в шаблоне content.php место вывода заголовка и добавляем вывод даты обновления поста под ним:
<?php if ( is_single() ) : ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
<div class="post-date" title="Дата обновления">
Статья обновлялась
<?php
$format = '<time class="entry-date" datetime="%1$s">%2$s</time>';
vprintf($format, [get_the_time('c'), human_time_diff(get_the_time('U'))]);
?>
назад
</div>Для вывода прошедшего времени с момента обновления используем WordPress функцию human_time_diff(). Она принимает дату события в качестве первого параметра, и форматирует ее в человеко читаемый вид:
$date = human_time_diff($dateFrom, $dateTo);* Параметр $dateTo не обязателен, он может содержать конечную дату события. По умолчанию подставляется текущая дата - time().
Примеры использования:
echo human_time_diff(time() - 60); // 1 минутаУдачной разработки!
#дата публикации под заголовком, #human readable date, #format meta entry data, #post data wordpress