Как вывести даты в стиле Twitter?
В WordPress есть встроенная функция вывода даты в формате Twitter (сколько времени прошло с момента публикации). Однако, создатели тем практически никогда ее не используют. Это можно легко исправить - для этого найдите, где в вашей теме используются функции вывода дат и замените их на код:
Опубликовано <?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' назад'; ?> |
Если вы не знаете, где и как именно в вашей теме выводятся даты, то можно воспользоваться хаком, добавленным в файл functions.php вашей темы:
//человеческие даты в записях start function wph_human_date($hdate = '') { if (!is_admin()) { $hdate = human_time_diff(get_the_time('U'), current_time('timestamp')) . ' назад'; } return $hdate; } add_filter('get_the_date', 'wph_human_date'); //человеческие даты в записях end |
Этот код сам найдет, где в вашей теме выводятся даты и заменит их.
Для дат в комментариях нужно использовать отдельный сниппет:
//человеческие даты в комментариях start function wph_human_comment_date($hdate = '') { if (!is_admin()) { $hdate = human_time_diff(get_comment_time('U'), current_time('timestamp')) . ' назад'; } return $hdate; } add_filter('get_comment_date', 'wph_human_comment_date'); //человеческие даты в комментариях end |
Особенностью функции human_time_diff является поддержка ею локализации - то есть она правильно склоняет дату (1 день назад, 2 дня назад, 5 дней назад).