首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >meta_query和orderby date meta?

meta_query和orderby date meta?
EN

Stack Overflow用户
提问于 2014-11-05 07:31:42
回答 1查看 4.5K关注 0票数 1

我有3元字段,日期(日期格式的字符串),位置和顾问。

当设置了meta_key时,我可以拉取帖子和按日期字段排序:

代码语言:javascript
复制
// get posts
$posts = get_posts(array(
    'post_type'     => 'event',
    'posts_per_page'    => -1,
    'meta_key'      => 'start_date',
    'orderby'       => 'meta_value_num',
    'order'         => 'DESC'
));

但是,我还不能让它与更复杂的meta_query一起工作:

代码语言:javascript
复制
$args = array(
    'post_type' => 'uppy_events',
    'orderby'       => 'meta_value_num',
    'order'         => 'ASC',

    'meta_query' => array(
        array(
            'key' => $key,
            'value' => array($value),
            'compare' => '>='
            )
        ),
        'numberposts' => -1
    );

基本上,我想拉出所有具有大于今天日期的元start_date的帖子,并按这些日期排序。

顺便说一句--你能对位置键和按日期排序的键进行meta_query搜索吗?

任何帮助我们都很感激。这是我第一次尝试按元排序,我找到了一些很好的帖子,但仍然无法理解它。干杯

EN

回答 1

Stack Overflow用户

发布于 2014-11-05 07:48:21

K我想出了这一点,因为我的帖子让我找到了另一个很好的例子。注释掉的meta_query的日期晚于今天。另一种是使用不同的密钥。两者都起作用了!

代码语言:javascript
复制
    $today = date("Ymd");

    $args = array(
        'post_type' => 'uppy_events',
        'post_status' => 'publish',
        'meta_key' => 'event_date', 
        'orderby'       => 'meta_value_num',
        'order'         => 'ASC',
        'meta_query' => array(
            /* array(
                'key' => 'event_date',
                'value' => $today,
                'compare' => '>='
            ) */
            array(
                'key' => 'event_location',
                'value' => 'vancouver',
                'compare' => '='
            )
        ),
        'numberposts' => -1
    );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26747086

复制
相关文章

相似问题

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