状況を考えてみましょう。メタフィールドを投稿しました:
- Min_Price
- Max_Price
したがって、すべての投稿にはこれら 2 つのフィールドがあり、値は 0 以外から 1000 までの任意の整数にすることができます。
例を見てみましょう:
- 投稿 #1 min_price = 5; 最大価格 = 100
- 投稿 #2 min_price = 50; 最大価格 = 150
query_posts で使用するカスタム オーダー ロジックを作成したいと考えています。そのため、ユーザーは価格帯を選択して、選択した値の投稿を表示できます。
1 つの価格と 1 つのフィールドしかない場合、次のように、ユーザーが価格範囲を選択して、これらの範囲に該当する投稿を取得できるようにするのは簡単です。
query_posts( array(
'post_type' => 'product',
'meta_query' => array(
array(
'key' => 'price',
'value' => array( 100, 200 ),
'compare' => 'BETWEEN',
'type' => 'numeric',
)
)
) );
したがって、ここでは価格が 100 ~ 200 のすべての投稿が表示されます。
しかし、私にはさまざまな価値観があります...そして、これはうまくいくと思いました:
query_posts( array(
'post_type' => 'product',
'meta_query' => array(
array(
'key' => 'min_price',
'value' => array( 100, 200 ),
'compare' => 'BETWEEN',
'type' => 'numeric',
),
array(
'key' => 'max_price',
'value' => array( 100, 200 ),
'compare' => 'BETWEEN',
'type' => 'numeric',
)
)
) );
ここでクライアントが選択した範囲 100<->200 投稿 #1 と投稿 #2 の両方がこの範囲に収まる値を持っているため、訪問者は両方に興味を持つでしょう。残念ながら、私のクエリロジックはそれらを除外しています。
私の脳は今うまく機能していないので、単純なものが欠けています. ヒントはありますか?