私は、タクソノミーである複数のオプションを持つ検索フォームを持っています。すべてのオプション、または1つだけを選択して検索をクリックすると、決してレコードが返されません。私は、関係を理解し、配列を適切に設定する方法に問題があります。Wordpress meta_query OR/ANDリレーションシップが機能しません
$args = array('post_type' => array('property'),
'order' => 'DESC',
'orderby' => 'post_date',
'meta_query' => array(
'relation' => 'AND',
array(
array(
'key' => 'property_address_postal_code',
'value' => $search,
'compare' => 'LIKE',
),
array(
'key' => 'property_address_state',
'value' => $search,
'compare' => 'LIKE',
),
array(
'key' => 'property_location',
'value' => $search,
'compare' => 'LIKE',
),
),
array(
'relation' => 'OR',
array(
'relation' => 'AND',
array(
'key' => 'property_price',
'value' => array($_GET['min-price'],$_GET['max-price']),
'type' => 'numeric',
'compare' => 'BETWEEN',
),
),
array(
'relation' => 'AND',
array(
'key' => 'property_price',
'value' => array($_GET['min-price'],$_GET['max-price']),
'type' => 'numeric',
'compare' => 'BETWEEN',
),
),
)
)
);
ありがとう、あなた私の星。すべてがあなたの言う通りですが、私はSQLクエリの関係を理解していますが、Wordpressのmeta_queryではそうではありません。もう一度解決に感謝します。 –
私は、 'relation'がその特定の関係をデリミタとして使って各メタクエリをまとめてグルーミングするという点で、PHPのimplode()と同様にメタクエリ関数を考えています。私はあなたが少し上手に機能を理解するのを助けることを願っています! – mcon