首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按自定义数据报警器对自定义post类型进行排序,而不是过滤

按自定义数据报警器对自定义post类型进行排序,而不是过滤
EN

WordPress Development用户
提问于 2020-02-06 06:30:19
回答 1查看 146关注 0票数 0

我有一个与ACF一起使用的自定义post类型事件。我有一个名为event的组,在这个组中,我有一个名为date_start的字段。这是我目前的代码,但是它过滤而不是排序,这意味着过去的每一个事件都是不可见的。

代码语言:javascript
复制
$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'
);

此外,我尝试了这段代码,但在这里没有使用类似的问题

代码语言:javascript
复制
$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);

代码语言:javascript
复制
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)
EN

回答 1

WordPress Development用户

发布于 2020-02-06 11:29:06

meta_query中,您忽略了字段的类型:

代码语言:javascript
复制
$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'

);

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/357985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档