2012-06-07 31 views
1

我有一些關於wordpress的元鍵關係和搜索參數的問題。我不能得到這個工作:WordPress的元鍵搜索

?meta_value=Dažādi&id=32&cp_city=Cēsis 

搜索結果只能由meta_value過濾不cp_city和meta_value的。

cp_city也是元鍵值。

但這一呼籲是工作和過濾:

?meta_value=Pārdod&id=32 

我需要通過兩個或三個parametrs進行過濾。

這是函數代碼來過濾。

<?php 

if (empty($pilseta)) { 
    $args=array(
    'post_type'   => 'ad_listing', 
    'post_status'  => 'publish', 
    'meta_key'   => 'cp_tips', 
    'meta_value'   => $meta, 
    'paged'    => $paged, 
    'tax_query'   => array(
     array(
      'taxonomy' => 'ad_cat', 
      'terms' => $cat_id,  
      'field' => 'id' 
     ) 
    ) 
); 
} 
else { 
    $args=array(

    'post_type'   => 'ad_listing', 
    'post_status'  => 'publish', 
    'meta_query' => array(
     array(
      'meta_key'   => 'cp_tips', 
      'meta_value'   => $meta 
     ), 
     array(
      'meta_key'   => 'cp_city', 
      'meta_value'   => $pilseta 
     ), 
    ), 
    'paged'    => $paged, 
    'tax_query'   => array(
     array(
      'taxonomy' => 'ad_cat', 
      'terms' => $cat_id,  
      'field' => 'id' 
     ) 
    ) 
); 
} 



query_posts($args); 

?>

回答

1

難道你看到由WordPress生成的SQL查詢知道,如果是確定的?

query_posts電話後,提出這樣的:

<?php global $wpdb; echo $wpdb->last_query; ?> 

如果什麼WP正在寫一個意外的查詢,我建議你用posts_where濾波器get_posts代替query_posts

0

更改meta_key ARGS以下文件和嘗試:

'meta_query' => array(
     array(
      'key' => 'cp_tips', 
      'value'=> $meta 
     ), 
     array(
      'key'=> 'cp_city', 
      'value'=> $pilseta 
)