使用高级自定义字段按自定义字段订购自定义WordPress帖子

时间:2016-03-10 20:59:32

标签: wordpress advanced-custom-fields custom-wordpress-pages

我正在尝试使用高级自定义字段(ACF)按时间排序一组自定义帖子。使用this help pageWP_Query page from the codex,我已经获得了以下代码,但它只按帖子标题排序,我希望按自定义字段排序start_time我&# 39; ve创造。

以下是用户可以选择的一些可能的键/值:

a:早上6点

b:早上6:15

c:早上6:30

d:早上6:45

以下是模板代码的简化版本:

<?php $args = array( 
'post_type' => 'events', 
'posts_per_page' => -1,
'orderby'           => 'meta_value_char',
'meta_key'          => 'start_time',
'order'             => 'ASC'
);

$loop = new WP_Query( $args ); ?>
    <ul> 
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

    <li>
        <?php the_title(); ?>: <?php the_field( "start_time" ); ?>
    </li>

<?php endwhile; ?>
</ul>

哪个输出:

  • 活动:上午7:45
  • B事件:下午4:15
  • C事件:上午7:45
  • D事件:下午2:30
  • E事件:上午10:15

所以它按事件标题排序帖子,而不是时间字段。如何按照我创建的时间字段进行排序?谢谢!

1 个答案:

答案 0 :(得分:0)

我有三种选择。我没有测试过它们。

Orderby可以接受多个参数。

'orderby'  => 'meta_value meta_value_char'

时间是否存储为num?然后尝试这些。一次一个,不是在一起。

'orderby'  => 'meta_value meta_value_num'

'orderby'  => 'meta_value_num'

我希望有所帮助。

最佳。