Intereting Posts
Как отфильтровать поиск в WordPress, за исключением сообщений в некоторых пользовательских таксономии? Получить URL-адрес пользовательской страницы входа на странице регистрации Как перенаправить с родительской страницы на ее дочернюю страницу? Фильтруйте get_terms и получите только первую (самую важную категорию) Переписать правила в .htaccess получить перезапись? admin-ajax.php возвращает все переменные php wp_comment_query, чтобы вернуть значение мета или использовать get_comment_meta Установить список по умолчанию «Просмотр» в Admin Невозможно получить полный заголовок сообщения, если пробелы в заголовке Функция поиска в плагине WordPress User Дата неверна на странице «Все сообщения» Случайный сортировка по уже отсортированному запросу Плагин, как тема «Я люблю его»? Удалите Google Fonts, которые (возможно) добавлены плагинами WordPress Удалить крючок с функцией wp_delete_post?

Интеграция разницы в человеческом времени и традиционных временных меток?

Моя цель – использовать man_time_diff только в том случае, если пост был добавлен в текущий день. Когда это не так, я хотел бы вернуться к традиционной временной отметке (второй код). Я не уверен, как это будет достигнуто и вам понадобится помощь. Я предоставил два кода, которые я буду комбинировать ниже.

Код для захвата разницы между временем публикации и текущим временем (т.е. 25 минут назад):

<?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?> 

Код для указания сообщения был добавлен в X-дату в Х-время:

 <?php the_time('F j, Y'); ?> at <?php the_time('g:i a'); ?> 

Solutions Collecting From Web of "Интеграция разницы в человеческом времени и традиционных временных меток?"

Вы можете получить дату и время создания сообщения и сравнить его с текущей датой / временем.

 global $post; $now = time(); // Current time in seconds since Epoch $post_created = strtotime( $post->post_date ); // post's creation date in seconds since Epoch, so we're comparing apples to apples $one_day_in_seconds = 24*60*60; if ( ( $now - $post_created ) < $one_day_in_seconds ) { echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; } else { the_time( 'F j, Y \a\tg:ia' ); } 

Рекомендации

PHP.net:
time()
strtotime()

Кодекс:
Объект Post (для post_date )

Вам нужно выразить свое условие в коде. Вы заинтересованы в сравнении с текущим днем, который может быть выражен, например, в формате PHP Y z .

Таким образом, ваше состояние будет чем-то вроде (не проверено):

 if ( the_time( 'Y z' ) === date_i18n( 'Y z' ) ) // today else // otherwise