問題描述

通過我選擇的元數據,可以使用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。