私はメタキー "event_date"でソートしたいと思っているのですが、今日の日付と3週間後の投稿のみを表示したいと思います。どういうわけか、私がWP Queryを単にタイプと順序をポストするように削除しても、何も印刷されず、スクリプトはコードが挿入された場所で停止するだけです。
<?php $events_args = array(
'meta_query' => array(
array(
'key' => 'event_date',
'value' => date('d-m-Y', strtotime("+3 weeks")),
'compare' => '<',
'type' => 'DATE'
)
),
'posts_per_page' => 3,
'post_type' => 'event',
'meta_key' => 'event_date',
'orderby' => 'meta_value',
'order' => 'ASC'
); ?>
<?php $upcoming_events = WP_Query($events_args); ?>
<?php if($upcoming_events->have_posts()): while($upcoming_events->have_posts()): $upcoming_events->the_post(); ?>
<a href="<?php the_permalink(); ?>"><article class="post_block">
<h2><?php the_title(); ?></h2>
<p class="date"><?php $date = new DateTime(get_field('event_date')); echo $date->format('d-m-Y'); ?><?php // echo get_the_date('d-m-Y'); ?></p>
<p class="text"><?php echo get_the_excerpt(); ?></p>
</article></a>
<?php endwhile; endif; wp_reset_postdata(); ?>
何も出力されない理由は何ですか?以下のような単純なquery_postを実行したとします。
query_posts('posts_per_page=3&post_type=event&meta_key=event_date&orderby=meta_value&order=DESC');
それからそれはイベントをプリントアウトするでしょう、しかしそれは最新のイベントの後にソートするでしょう、そして私は今日だけ表示するために先の3週間からのイベントをソートする必要があります。
正しい日付フォーマットを入力する必要があります:Ymdまたはyyyy-mm-dd。