我有一个与ACF一起使用的自定义post类型事件。我有一个名为event的组,在这个组中,我有一个名为date_start的字段。这是我目前的代码,但是它过滤而不是排序,这意味着过去的每一个事件都是不可见的。
$args = array(
'post_type' => 'events',
'posts_per_page' => '-1',
'meta_query' => array(
array(
'key' => 'event_date_start' ,
'compare' => '>=',
'value' => current_time('Ymd'),
)
),
'meta_key' => 'event_date_start',
'orderby' => 'meta_value_num',
'order' => 'ASC'
);此外,我尝试了这段代码,但在这里没有使用类似的问题。
$args = array(
'post_type' => 'events',
'posts_per_page' => '-1',
'orderby' => 'meta_value_num ',
'meta_key' => 'event_date_start',
'order' => 'ASC'
);执行meta_value_num date而不是meta_value_num也没有产生想要的结果。所以,我的问题是,是否有一种方法来排序这些事件,而不是过滤主题,这样每个事件都是可见的,而最新的事件将首先显示出来。
任何帮助或想法都是非常感谢的。
将'type' => 'DATE',添加到meta-query并没有解决这个问题。
这是var_dump($post);
object(WP_Post)[7713]
public 'ID' => int 974
public 'post_author' => string '1' (length=1)
public 'post_date' => string '2020-01-16 13:40:21' (length=19)
public 'post_date_gmt' => string '2020-01-16 13:40:21' (length=19)
public 'post_content' => string '' (length=0)
public 'post_title' => string '24 - 25 февраля' (length=22)
public 'post_excerpt' => string '' (length=0)
public 'post_status' => string 'publish' (length=7)
public 'comment_status' => string 'closed' (length=6)
public 'ping_status' => string 'closed' (length=6)
public 'post_password' => string '' (length=0)
public 'post_name' => string '24-25-fevralya' (length=14)
public 'to_ping' => string '' (length=0)
public 'pinged' => string '' (length=0)
public 'post_modified' => string '2020-01-16 13:40:21' (length=19)
public 'post_modified_gmt' => string '2020-01-16 13:40:21' (length=19)
public 'post_content_filtered' => string '' (length=0)
public 'post_parent' => int 0
public 'guid' => string 'http://emtway.local/?post_type=events&p=974' (length=48)
public 'menu_order' => int 5
public 'post_type' => string 'events' (length=6)
public 'post_mime_type' => string '' (length=0)
public 'comment_count' => string '0' (length=1)
public 'filter' => string 'raw' (length=3)发布于 2020-02-06 11:29:06
在meta_query中,您忽略了字段的类型:
$args = array(
'post_type' => 'events',
'posts_per_page' => '-1',
'meta_query' => array(
array(
'key' => 'event_date_start' ,
'compare' => '>=',
'value' => current_time('Ymd'),
'type' => 'DATE',
)
),
'meta_key' => 'event_date_start',
'orderby' => 'meta_value_num',
'order' => 'ASC');
https://wordpress.stackexchange.com/questions/357985
复制相似问题