実現したいこと
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' => $program 26 ), 27 ) 28 ); 29 print_r($args); 30 $top_news = new WP_Query( $args ); 31 while($top_news->have_posts()): $top_news->the_post(); //以下略 ?>

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/04/21 08:16
2023/04/21 08:19
2023/04/21 08:19
2023/04/24 01:27
2023/04/24 02:26