我正在尝试按最近日期对我的自定义帖子进行排序,但我无法让它工作。我错过了什么吗?
<?php
$args = array(
'post_type' => 'event',
'post_status' => 'publish',
'posts_per_page' => '10',
'meta-key' => 'event_date',
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
$event_loop = new WP_Query( $args );
if ( $event_loop->have_posts() ) :
while ( $event_loop->have_posts() ) : $event_loop->the_post();
// Set variables
$title = get_the_title();
// Output
?>
<a class="class" href="<?php echo get_permalink(); ?>"><h2><?php echo $title; ?></h2></a>
<img style="float: right; max-width: 28%;"src="<?php the_field('event_image'); ?>"/><h3>Event Date : <?php the_field('event_date'); ?></h3>
'order' => 'ASC' 表示从最旧到最新。尝试使用
'order' => 'DESC'
另请注意,您正在订购非日期字段meta_value_num
尝试按要使用的日期字段排序。
例如使用
'orderby' => 'date'
如果您的表格包含每个事件的日期。排序依据需要具有要用于对帖子/事件进行排序的日期类型的列的名称。
在此处查看wp_posts表的示例https://codex.wordpress.org/Database_Description#Table:_wp_posts
此处显示了使用该wp_posts的查询示例
WP_Query('orderby=date&order=DESC')