get_the_date меняйте на get_the_time('j F, Y в H:i')
извиняюсь, не понял вопроса.
Мне это нужно для «времени жизни» поста. Я сейчас вручную задаю параметр даты окончания публикации. Мне нужно, чтобы в переменной автоматически записывалась дата публикации + 5 часов, чтобы пост «жил» 5 часов после момента публикации.
зачем вручную то? подобных плагинов я встречал несколько.
Наверное я не так выразился. Я в произвольном поле добавляю параметр с датой окончания публикации, и по наступлении этой даты пост автоматически убирается с сайта.
Плагины делают то же самое, т.е. добавляют поле, в которое нужно руками вписывать дату.
А мне нужно, чтобы у каждого поста было фиксированное время жизни.
-
Ответ изменён 6 лет, 5 месяцев назад пользователем
dmitriy88.
да все я понял
плагин https://wordpress.org/plugins/post-expirator/
в настройке Default Date/Time Duration:
можно поставить что-то типа +1 week 2 days 4 hours 2 seconds
.
так что или используйте плагин или выдерите из него нужный код.
Как я понимаю, нужно смотреть в сторону этой строки?
$ts = time() + (strtotime($custom) - time());
Как учесть переход на следующий день? Например, для даты 24 апреля 2017 года 22:00 запишется строка 201704242200, затем я прибавлю другой массив +3 часа, получится 201704242500, а нужно 201704250100.
Модератор
Yuri
(@yube)
Как учесть переход на следующий день?
Использовать UNIX TIME, а не «текст»…
Например, для даты 24 апреля 2017 года 22:00 запишется строка 201704242200
и тогда запишется число 1493060400, к которому можно просто добавить 10800 (3 часа), не беспокоясь о переходе на следующий день.
Кстати, time() возвращает именно число, а не строку 201704242200.
И не стоит забывать о таймзоне.
time()
взято из кода плагина. Я использую функцию get_the_date("YmdHi")
, которая возвращает дату публикации поста в формате 201704242200.
Модератор
Yuri
(@yube)
Я использую функцию get_the_date(«YmdHi»), которая возвращает дату публикации поста в формате 201704242200.
Так используйте get_the_date("U")
. Или это вопрос принципа?
Спасибо за помощь, все получилось. Честно говоря, я раньше и не знал о UNIX TIME.