首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义的post类型- meta_query:搜索课程,更早开始

自定义的post类型- meta_query:搜索课程,更早开始
EN

WordPress Development用户
提问于 2018-12-12 08:17:49
回答 1查看 26关注 0票数 0

我有自定义的post类型,其中有4个日期子字段(除其他外):period_a_startperiod_b_startperiod_c_startperiod_d_start

我想要创建一个查询,以获得更早开始的8个第一课(排序)(不管哪个阶段更早开始)。

因此,如果A课(period_c_start = 13.12.2018),B课(period_a_start = 20.12.2015),C课(period_d_start = 14.12.2018)……

我想像这样把课程表拿回来:A课,C课,B课.

到目前为止,这就是我所尝试的:

代码语言:javascript
复制
$args  = ['post_type'=> 'cp_course', 'numberposts' => 8,'orderby' => 'menuorder', 'order' => 'ASC',
         'meta_query' =>
            array(
                'relation' => 'OR',
                array(
                    'key' => 'period_a_start',
                    'compare' => '>=',
                    'type' => 'numeric',
                    'value' => date("m/d/Y"),
                ),
                array(
                    'key' => 'period_b_start',
                    'compare' => '>=',
                    'type' => 'numeric',
                    'value' => date("m/d/Y"),
                ),
                array(
                    'key' => 'period_c_start',
                    'compare' => '>=',
                    'type' => 'numeric',
                    'value' => date("m/d/Y"),
                ),
                array(
                    'key' => 'period_d_start',
                    'compare' => '>=',
                    'type' => 'numeric',
                    'value' => date("m/d/Y"),
                )
            )];
$course = get_posts($args);

但是,这种方法不能保证它将返回提前订购的8节课。

EN

回答 1

WordPress Development用户

发布于 2018-12-12 08:29:50

我建议您将时间存储为字符串而不是d-m-Y格式。使用strtotime()将其格式化为长整数。这将帮助您比较字符串。我不能100%确定PHP是否能够比较字符串日期。但是,正如这个用户所提到的那样,它能够比较时间篡改:如何比较中的日期和字符串

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

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

复制
相关文章

相似问题

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