按升级日期排序PHP数组与高级自定义字段

时间:2015-06-10 18:35:52

标签: php datepicker advanced-custom-fields

我正在尝试在最近的日期订购我的自定义帖子,但我无法让它工作。我错过了什么吗?

<?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>

1 个答案:

答案 0 :(得分:0)

&#39;为了&#39; =&GT; &#39; ASC&#39;意思是从最古老到最新。试试

 'order' => 'DESC'

另请注意您在非日期字段上订购 meta_value_num

尝试按照您要使用的日期字段进行排序。

例如使用

'orderby' => 'date'

如果您的表包含每个事件的日期。 orderby需要具有您要用于对帖子/事件进行排序的日期类型的列的名称。

请在此处查看wp_posts表的示例 https://codex.wordpress.org/Database_Description#Table:_wp_posts

此处显示了与wp_posts一起使用的查询示例

WP_Query('orderby=date&order=DESC')