在使用meta\\u query对自定义帖子列表进行过滤后,是否可以根据我选择的元数据对其进行排序?
例如,我有一个称为webinars的自定义帖子类型。我正在尝试列出所有即将举行的网络研讨会,并按名为webinar\\u 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\\u值的使用可能有所不同,但我在WordPress文档中找不到解释这一点的答案。
有人能帮忙吗?提前谢谢。
最合适的回答,由SO网友:somatic 整理而成
新的meta_query
数组选择查询返回的帖子。因此,是的,您在其中指示“键”meta_query
, 但你仍然可以使用
\'orderby\' => \'meta_value\',
\'meta_key\' => \'_events_meta\',
除了meta\\u查询之外,因为这些行指示如何对结果查询进行排序。因此,是的,您可能会两次指示相同的meta\\u键。
SO网友:Guru 2.0
我正在为我的自定义帖子使用以下代码events
, 在循环中获取所有帖子。
$evtLoop = new WP_Query(array(\'post_type\' => \'events\',
\'posts_per_page\' => 10,
\'orderby\' => \'meta_value\',
\'meta_key\' => \'_events_meta\',
\'order\'=>\'DESC\'));
我认为您使用代码的方式大致相同。我想你错过了
meta_key
使用要排序的元字段的名称。如果您添加
\'meta_key\' => \'webinar_startDate\',
到外部阵列?