すべてのカスタム投稿タイプを正しいフィールド順に並べて返すクエリがあります。私が今やろうとしているのは、フィルターを追加することです。私が紹介する唯一の新しい項目は、meta_compare フィールドと meta_value_num フィールドです。
私のクエリは次のようになります。
array(9) {
["post_type"]=> string(16) "my_custom_post_type"
["post_status"]=> string(7) "publish"
["posts_per_page"]=> int(9)
["paged"]=> int(2)
["meta_key"]=> string(3) "age"
["meta_value_num"]=> array(2) {
[0]=> int(3)
[1]=> int(4)
}
["meta_compare"]=> string(1) "="
["orderby"]=> string(14) "meta_value_num"
["order"]=> string(3) "ASC"
}
meta_value_num を配列ではなく単一の int にしても、指定された年齢のアイテムだけでなく、常にすべてのアイテムが返されます。
アップデート
以下の推奨事項に基づいて、この配列も試しましたが、うまくいきませんでした。カスタム投稿タイプのすべての投稿を返します。
array(5) {
["post_type"]=>string(16) "my_custom_post_type"
["post_status"]=>string(7) "publish"
["posts_per_page"]=>int(9)
["paged"]=>int(0)
["meta_query"]=>array(4) {
["key"]=>string(3) "age"
["value"]=>array(3) {
[0]=>int(2)
[1]=>int(3)
[2]=>int(4)
}
["compare"]=>string(2) "IN"
["type"]=>string(7) "NUMERIC"
}
}