WordPress自定义字段搜索忽略关系“与”

时间:2018-08-09 07:26:52

标签: php wordpress custom-fields

我正在尝试通过类别和称为“性别”的自定义字段来查询产品。 sql中的条件输出始终使用“ OR”而不是“ AND”进行性别搜索。

add_filter('get_meta_sql', 'filter_query', 10, 1);
$product_dis = new WP_Query(array(
'post_type'      => 'product',
'post_status'    => 'publish',
'posts_per_page' => -1,
'relation'=>'AND',
'tax_query'      => array(
    'relation'=>'AND',
    array(
         'relation'=>'AND',
        'taxonomy'   => 'product_category',
        'field'      => 'term_id',
        'terms'      => array($category_id, $subcat_id)
    ), ),
'meta_query'    => array(
    'relation'=>'AND',
    array(
        'relation'=>'AND',
        'key'     => 'gender',
        'value'   => $gender,
        'compare' => '=',
    ),),
) );

输出

选择kh_posts。*从kh_posts左联接kh_term_relationships ON(kh_posts.ID = kh_term_relationships.object_id)INNER JOIN kh_postmeta ON(  kh_posts.ID = kh_postmeta.post_id),其中1 = 1 AND(kh_term_relationships.term_taxonomy_id IN(10,19,21)) OR ((kh_postmeta.meta_key ='gender'AND kh_postmeta.meta_value ='male '))AND kh_posts.post_type ='产品'AND(((kh_posts.post_status ='publish'))GROUP BY kh_posts.ID ORDER BY kh_posts.menu_order ASC

0 个答案:

没有答案