Вопрос или проблема
Я просто отображаю свои недавно опубликованные и модифицированные записи на главной странице (index.php). Как я могу отобразить дату последнего изменения на главной странице?
Вы можете использовать the_modified_time( $format )
в цикле, где $format
— это формат даты/времени PHP. Если оставить пустым, он будет отображаться в формате согласно настройкам вашего сайта.
Некоторые быстрые возможные решения, работающие в шаблонах:
Если у вас есть шаблон страницы для главной страницы, вы можете вывести где-то:
<?php echo "Последнее изменение: ".$post->post_modified; ?>
Если вы работаете с index.php
вашей темы:
<?php if ( is_home() || is_front_page()){echo "Последнее изменение: ".$post->post_modified;}?>
Первый пример выше также можно использовать в single.php
или page.php
и он покажет дату последнего изменения текущей записи/страницы, которую вы просматриваете. Второй будет виден только на главной странице. Чтобы показать это где-либо еще, вы можете создать шорткод: https://codex.wordpress.org/Shortcode_API
function post_date_modified_shortcode($atts, $content = null) {
ob_start();
extract(shortcode_atts(array(
'post'=>1),
$atts));
ob_start();
$_post=get_post((int)$atts['post']);
//echo "Последнее изменение: ".$_post->post_modified;
$datetime = new DateTime($_post->post_modified);
echo "Последнее изменение: ".$datetime->format('c'); //Возвращает ISO8601 в правильном формате
return ob_get_clean();
}
add_shortcode("POST_MODIFIED", "post_date_modified_shortcode");
Затем в редакторе контента, где вы хотите вывести дату последнего изменения (обратите внимание, что вы можете передать ID записи/страницы, для которой хотите получить эту информацию), вы можете использовать:
[POST_MODIFIED post=371]
где 371 — это ID записи вашей главной страницы (или любой другой записи/страницы). Это выведет что-то вроде:
Последнее изменение: 2020-01-13 15:49:51
Конечно, существует много других возможных решений.
Ответ или решение
Чтобы отобразить дату последнего изменения главной страницы вашего сайта на WordPress, вы можете воспользоваться функцией the_modified_time($format)
в цикле, где $format
— это формат даты/времени PHP. Если оставить параметр пустым, будет отображена дата в формате, установленном в настройках вашего сайта.
Вот несколько возможных решений для отображения даты последнего изменения, которые вы можете использовать в шаблонах:
Способ 1: Использование статического метода в шаблоне страницы
Если у вас есть отдельный шаблон страницы для главной страницы, вы можете просто вставить следующий код в любое место шаблона, где вы хотите отобразить дату последнего изменения:
<?php echo "Последнее изменение: " . $post->post_modified; ?>
Способ 2: Изменение файла index.php
Если вы работаете с файлом index.php
вашей темы, вы можете отобразить дату последнего изменения только на главной странице, используя следующий код:
<?php if ( is_home() || is_front_page()) { echo "Последнее изменение: " . $post->post_modified; } ?>
Этот код будет виден только на главной странице вашего сайта.
Способ 3: Создание шорткода
Если вы хотите использовать дату последнего изменения в разных местах вашего сайта, вы можете создать шорткод. Вот пример кода, который вы можете добавить в файл functions.php
вашей темы:
function post_date_modified_shortcode($atts, $content = null) {
ob_start();
extract(shortcode_atts(array(
'post' => 1),
$atts));
$_post = get_post((int)$atts['post']);
$datetime = new DateTime($_post->post_modified);
echo "Последнее изменение: " . $datetime->format('c'); // Возвращает ISO8601 в корректном формате
return ob_get_clean();
}
add_shortcode("POST_MODIFIED", "post_date_modified_shortcode");
После добавления этого кода, вы сможете использовать шорткод в редакторе контента, чтобы вывести дату последнего изменения. Например:
[POST_MODIFIED post=371]
где 371
— это ID вашей главной страницы или любой другой страницы/поста. Это выведет что-то вроде:
Последнее изменение: 2020-01-13 15:49:51
Заключение
Выше приведены несколько способов отображения даты последнего изменения главной страницы вашего сайта на WordPress. Выберите подходящий способ в зависимости от ваших нужд и уровня удобства. Если у вас есть дальнейшие вопросы или вам нужна дополнительная помощь, не стесняйтесь спрашивать!