Выводим сообщение о старости записи
25 Мар 2023г. в 11:52Если вы публикуете в своем блоге информацию, которая может устареть со временем, то будет очень полезно наглядно информировать читателя о времени, прошедшем с начала публикации. В данном уроке мы рассмотрим, как с помощью PHP добавить в тему WordPress функцию автоматической генерации сообщения в записи о том, что она имеет возраст в Х лет.
Вывод сообщения о старости поста
Небольшой код, добавленный в тему, будет выводить сообщение сверху записи, если она старше определенного количества лет. Можно ограничить вывод сообщения определенным типом записей или категории, добавив фильтр.
Код PHP
<?php
$post_age = date('Y') - get_the_time('Y');
if($post_age > 2 && in_category('4') ) { ?>
<div class="old-post">
<p><strong>Данная запись опубликована в <?php the_time('Y'); ?> году!</strong><br />
Информация требует проверки и уточнения на соответствие современному уровню.</p>
</div>
<?php } ?>
Первая строчка кода получает значение текущего года и вычитает из него значение года публикации записи. В результате в переменной $post_age мы получаем возраст записи.
Затем происходит проверка на старость (в примере, "старая" запись имеет возраст более 2 лет) И вхождение в категорию с ID 4. В фильтре можно использовать и другие условия, которые имеет в своем арсенале WordPress.
Строка простого кода HTML выводит сообщение пользователю. Тег <?php the_time('Y'); ?> добавляет год публикации в сообщение
Данный код надо скопировать в файл single.php вашей темы выше тега <?php the_content(); ?>.
CSS
Выше приведенный код будет выводить неформатированное сообщение в нужных записях. Для формирования внешнего вида можно использовать CSS.
.old-post {
margin: 0 0 20px 0; padding: 15px 20px;
background: #e9e9eb url(images/grey-bg.png);
}
.old-post p {
background: url(images/warning.png) left no-repeat; padding: 0 0 0 65px;
color: #717171;
}
Код нужно добавить в файл style.css вашей темы.
Мы просто установили некоторый отступ вокруг элемента с сообщением, использовали для него серый фон. Также будет выводиться иконока предупреждения перед текстом.