web-dev-qa-db-ja.com

WP_Query-複数のカスタム投稿タイプとカスタムメタで並べ替え

2つのカスタム投稿タイプから結果を取得し、カスタムメタ(開始イベントの日付)で並べ替えたいのですが。

このコード:

$warsztaty_q = new WP_Query(array(
    'post_type' => array('kalendarium', 'warsztaty'),
    'order_by' => 'meta_value',
    'meta_key' => 'data_start',
    'order' => 'ASC'
));

大丈夫ですが、最初に並べ替えられるのは「kalendarium」、次に「warsztaty」であるため、クエリ結果で最初に並べ替えられるのは「kalendarium」からの投稿で、次は「warsztaty」からの投稿です。

私はこの解決策を見つけました: https://wordpress.stackexchange.com/questions/71576/combining-queries-with-different-arguments-per-post-type

しかし、カスタムメタを取得できません:(

誰でも私を助けることができますか? :)

12
martin_682

order_byの代わりにorderbyを使用してください

$warsztaty_q = new WP_Query(array(
    'post_type' => array('kalendarium', 'warsztaty'),
    'orderby' => 'meta_value',
    'meta_key' => 'data_start',
    'order' => 'ASC'
));

詳細については コーデックス を参照してください

21
Jothi Kannan