phpのデータフォーマットにTがある日付と現在時間を比較したいのです。どこがおかしいのでしょうか?

実現したいこと

WordPressにてカスタムフィールドに作成した「公開終了日時」を過ぎているもの一覧表示からはじきたいです。

前提としてカスタムフィールドは以下の様な表示になります

php

1$closeTime = post_custom('close_time');2echo $closeTime;//2033-04-21T15:00

以下のコード内で現在時間と比較してはじきたいのですが、
ページを読み込みし直すたびに別の記事が表示されてしまいます。

時間のフォーマットにTがあるので上手く比較できないのだろうとにらんで、
現在時刻にもTを入れてみたのですが、うまく動きません。

時間のフォーマットをいろいろ加工して試していますが、正解にたどり着かず。
どのように書けば非公開日時を過ぎた記事をはじけますでしょうか?

よろしくお願いいたします。

php

1 $day = date_i18n('Y-m-d');2 $time = date_i18n('H:i');3 $currentTime = $day.'T'.$time;4$program = get_query_var( 'article-cat' );5$args = array(6 'post_type' => 'post', 7 //'post_status' => 'publish',8 'order' => 'DESC',9 'orderby' => 'meta_value_num',10 'paged' => $paged, //ページャー用11 'posts_per_page' => 15,12 13 'meta_query' => array(14 array(15 'key' => 'close_time',//---------------------------------------問題の箇所はこちら--------------------------//16 'value' => $currentTime,17 'compare' => '>=',//記事非表示時間より前なら表示18 'type' => 'DATE'19 )20 ),21 'tax_query' => array(22 array(23 'taxonomy' => 'category', //タクソノミーを指定24 'field' => 'slug',25 'terms' => $program26 ),27 )28 );29 print_r($args);30 $top_news = new WP_Query( $args );31 while($top_news->have_posts()): $top_news->the_post(); //以下略 ?>

コメントを投稿

0 コメント