WC format() Ошибка

114
16 августа 2019, 12:20

Есть такой код, который выводит время окончания действия купона:

$couponargs = array(
   'post_type' => 'shop_coupon',
   'post__in' => $couponarrayfinal,
   'orderby' => 'title',
   'order' => 'ASC',
   'posts_per_page' => '-1');
$coupons = get_posts($couponargs);
   <div class="wt-mycoupons">
      <ul>
          <?php
             foreach ($coupons as $coupon) {
                $coupon_time = new WC_Coupon( $coupon->ID );
                echo "<li class='wt-single-coupon'>";
                 echo "<div class='coupon-info'>";
                  echo "<div class='title-coupon'>";
                   echo "$coupon->post_title";
                  echo "</div>";
                  echo "<div class='desc-coupon'>";
                   echo "$coupon->post_excerpt";
                  echo "</div>";
                 echo "</div>";
                 echo "<div class='coupon-expiry__time'>";
                  echo $coupon_time->get_date_expires();
                 echo "</div>";
                echo "</li>";
             }
           ?>
        </ul>
    </div>

Дата таким способом выводится, но в формате 2019-10-30T21:00:00+00:00. Когда меняю формат таким образом: get_date_expires()->format( 'd-m-Y H:i:s' );

Появляется ошибка и сайт сыпется. В чем проблема?

Answer 1

get_date_expires() может вернуть null, и тогда возникнет фатальная ошибка. Сделайте так:

$expires = $coupon_time->get_date_expires();
if ( $expires ) {
    echo $expires->format('d-m-Y H:i:s');
}
READ ALSO
PHP парсинг ссылок

PHP парсинг ссылок

Есть у меня sitemap страница в которой находят все нужные пути для всех страниц

123
Передача значений методом POST (checkbox)

Передача значений методом POST (checkbox)

Есть скрипт для ввода и сохранения закладокЗакладки выводятся в таблице с тремя полями: адрес, категория закладки и checkbox (какие закладки...

121
Конкатенация PHP + HTML [дубликат]

Конкатенация PHP + HTML [дубликат]

На данный вопрос уже ответили:

96