Intereting Posts
Как изменить количество комментариев в виджетах с помощью функции? Текст с открытым исходным текстом отображается разблокированным во время загрузки страницы Проблемы с кешем с redis и nginx Shortcode для вытягивания определенного внешнего контура заголовка сообщения, когда идентификатор передается в Как отображать идентификаторы страниц в качестве имен slug страниц? Разрешить пользователям редактировать свою роль из интерфейса Изменить заголовок или разделитель заголовка в WordPress Изменение размеров встраиваемых объектов по умолчанию? Виджет обратного отсчета Стилирование пользовательских метакодов? WordPress за Proxy – смешанный контент Исчезающие предметы в меню Добавление страницы интерфейса, но не видимой в бэкэнд Безопасность – инъекция инъекций шорткода Вставить код Javascript только зарегистрированным пользователям

Добавление числа к дате

Признаюсь … У меня плохое умение.

Я пытаюсь показать продолжительность событий в должности в категории событий. Пример: октябрь 11-14. Но у меня возникла проблема с добавлением целого числа к дате, а затем его печать в правильном формате. Посмотрите мой код ниже:

<span class="news-item-date-day"> <?php the_time('M j'); $event_length = get_post_meta ($post->ID, 'event_length', $single = true); if($event_length !== '') { echo '-' . (intval(the_time('j')) + intval($event_length)); } ?> </span> 

the_time – 11 октября. $ event_length равно 3. Но вышеприведенный код печатает октябрь 1111-3, а не 11-14 октября.

Заранее спасибо за вашу помощь.

Вам нужно get_the_time , а не the_time чтобы получить дату (последнее значение эха ). Вам также нужно переоценить, как вы пытаетесь вычислить дату окончания – вы не можете просто «добавить» количество дней. Что, если длина события была 3, но дата начала была 31-й?

 if ( $event_length ) { // Get the unix timestamp of the post $post_time = get_the_time( 'U' ); // Increase the timestamp by the event length $end_time = $post_time + $event_length * DAY_IN_SECONDS; // Conditional date format depending on if the event ends in the same month if ( date( 'm', $post_time ) !== date( 'm', $end_time ) ) echo date_i18n( ' - M j', $end_time ); else echo date_i18n( ' - j', $end_time ); }