【发布时间】:2017-11-03 06:19:29
【问题描述】:
我有一个自定义帖子类型“事件”,我正在尝试按日期排序。并且由于某种原因它不起作用。我很困惑,因为我之前实际上已经这样做了,没有任何问题。这次出了什么问题?
前三行用于获取通过 ACF 自定义字段分配给页面的月份、年份和状态。 (这与事件具有的 ACF 字段是分开的。)本质上,我试图仅获取该州、月和年的事件。
<?php
$thestate = get_field('page_state');
$themonth = get_field('page_month');
$theyear = get_field('page_year');
$meta_query = array(
array(
'key' => 'event_state',
'value' => $thestate,
'compare' => '='
),
array(
'key' => 'event_month',
'value' => $themonth,
'compare' => '='
)
);
$args = array(
'meta_key' => 'date_of_event',
'order_by' => 'meta_value_num',
'order' => 'ASC',
'post_type' => 'event',
'posts_per_page' => -1,
'meta_query' => $meta_query
);
$myposts = get_posts($args);
if($myposts) { ?>
<?php foreach($myposts as $post) { ?>
<?php setup_postdata( $post ); ?>
/*--Code Here--*/
<?php wp_reset_postdata(); ?>
<?php } ?>
<?php } ?>
编辑: 我弄清楚了这个问题。我花了很长时间才弄清楚这一点,但事实证明这是由于我使用'order_by'而我需要使用'orderby'这一事实引起的......删除下划线就是所有需要的完毕。我不确定为什么会这样。 'order_by' 似乎对其他人有用,所以我仍然有点困惑,但很高兴我设法解决了它。
【问题讨论】:
标签: php wordpress advanced-custom-fields