问题描述

通过我选择的元数据,可以使用 meta_query 过滤自定义帖子列表吗?

例如,我有一个叫做网络研讨会的自定义帖子类型。我正在尝试列出所有即将到来的网络研讨会,并通过名为 webinar_startDate 的自定义元字段进行排序。

使用以下查询,我能够成功返回在线讲座,不包括旧的在线讲座。但是,他们仍然按照发布的顺序出来,而不是由 webinar_startDate 出版。

<?php $my_array =  array(
    'meta_query' => array(
            array(
                'key' => 'webinar_startDate',
                'value' => date("Y-m-d H:i:s"),
                'compare' => '>=',
                'type' => 'DATETIME'
            )
    ),
    'orderby' => 'meta_value',
    'post_type' => 'webinars',
    'posts_per_page' => 20,
    'order' => 'ASC'
); ?>

我怀疑由于从 3.0 变为 3.1,使用 orderby => meta_value 可能不一样,但是在 WordPress 文档中找不到答案来解释这一点。

谁能帮忙?提前致谢。

最佳解决方案

新的 meta_query 阵列选择查询返回哪些帖子。那么是的,你表示 meta_query 中的’key’,但你仍然可以使用旧的方法

'orderby' => 'meta_value',
'meta_key' => '_events_meta',

除了 meta_query 之外,这些行表示如何排序生成的查询。所以是的,你可能会指出相同的 meta_key 两次。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。