指定時間経過で投稿を非表示
-
こんにちは。
自分なりに調べてみたのですが、どこが悪いのか分からないのでお助けください。カスタム投稿(NEWS)を1件だけサイドバーに表示させています。
これを公開から指定時間が経過するとサイト上から非表示にさせようとしています。
試しているコードは以下になります。<?php function filter_where($where = '') { $where .= " AND post_date >= '" . date('Y-m-d', strtotime('+1 hours')) . "'"; return $where; } add_filter('posts_where', 'filter_where'); $args = array( 'post_type' => 'news', 'posts_per_page' => 1, ); $my_limit_post = new WP_Query( $args ); remove_filter( 'posts_where', 'filter_where' ); ?> <?php if($my_limit_post->have_posts()): while($my_limit_post->have_posts()) : $my_limit_post->the_post(); ?> <a href="<?php the_permalink() ?>"><?php the_title() ?>/></a> <?php endwhile; ?> <?php endif; ?> <?php wp_reset_query(); ?>
試験的に公開から1時間経過で非表示にするように設定しているつもりなのですが想定通りに動作しません。
ローカル上で試験しているのですが、時刻を1時間強制的に早めてみてもそのまま表示されており、試した所16時間進めた時点で非表示になりました。
日時は以下を埋め込んでサイト上で表示の確認を行っています。<p>現在時刻:<?php echo date_i18n("Y年n月j日 H:i:s"); ?></p> <p>公開日:<?php the_date("Y年n月j日 H:i:s") ?></p>
で、よく分からないまま調べてfunctions.phpに以下を追記すると7時間進めて非表示になりました。
date_default_timezone_set( 'Asia/Tokyo' );
どこに問題があるのか分からないのですが、どうすれば指定時間通りに動作するのでしょうか。宜しくお願いします。
4件の返信を表示中 - 1 - 4件目 (全4件中)
4件の返信を表示中 - 1 - 4件目 (全4件中)
- トピック「指定時間経過で投稿を非表示」には新たに返信することはできません。