0

演算子を使用して SQL クエリを生成するのに問題があります。実際には、次のコードを記述します。

$args = array(
    'post_type' => 'listings',
    'posts_per_page' => 10,
    'paged' => $paged,  
    'meta_query' => array(
        //CITY
        array(
            'key' => 'city',
            'value' => $city,           
            'compare' => 'LIKE'
        ),    
        //type
        array(
            'key' => 'type',
            'value' => $type,           
            'compare' => 'LIKE'
        ),    
        //PRICE
        array(
            'key' => 'price',
            'value' => array( 100, 5000 ),          
            'compare' => 'BETWEEN'          
        ),      
    )
);

このコードは正常に動作しますが、今は、との間の投稿を取得する必要がpriceあります。つまり、価格が設定されていない、または設定されていない投稿は、クエリに表示される必要があります。その他の条件 (都市、タイプなど) が一致する必要があります$start$endprice = -1-1AND

何か案は?ありがとう!

4

1 に答える 1

0

私の最初の考えは、posts_where または posts_join にフィルターを追加して、カスタム SQL 条件をクエリに挿入することです。

これらの行に沿ったもの:

wp_postmeta.meta_key='price' AND 
    (wp_postmeta.meta_value='-1' OR 
    CAST(wp_postmeta.meta_value AS INT) BETWEEN $start AND $end)
于 2013-09-24T19:49:01.263 に答える