web-dev-qa-db-ja.com

2つのメタ値で投稿を並べることは可能ですか?

うまくいけば、これはかなり簡単な質問です。

私のWP installのフロントエンドに、2つのメタ値で投稿を並べることはできますか?

genusというメタキーとspeciesというメタキーがあります。まずgenus(ASC)、次にspecies(ASC)の順に並べ替えます。

前もって感謝します、

2
dunc

私の知る限りでは、メタクエリを使用してそれを行うことはできません。この例をチェック して 、やりたいことをしてください。

1

私が考えることができる最も簡単な解決策はpostsメタテーブルをpostsテーブルと二度結合することです。 codex の例を少し修正すると、これを使用できます。

$querystr = "
SELECT wposts.* 
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta1, $wpdb->postmeta wpostmeta2
WHERE wposts.ID = wpostmeta1.post_id
AND wposts.ID = wpostmeta2.post_id
AND wpostmeta1.meta_key = 'genus'
AND wpostmeta2.meta_key = 'species'
AND wposts.post_type = 'post'
ORDER BY wpostmeta1.meta_value ASC,
         wpostmeta2.meta_value ASC
";