2012-10-02 129 views
1

我已經有一些自定義字段作爲新的帖子類型的元數據 - 屬性(對於房地產經紀人),所以要搜索的臥室數量,最小/最大值和位置。我有多個下拉菜單的每個字段的形式:自定義搜索關於搜索表單的查詢

位置,MIN_VALUE,MAX_VALUE,臥室

另外,我對帖子的內容元盒,這樣一個價格,臥室,位置,和property_type的分類類型 - 租賃,銷售和商業。

我在網上找到了這段代碼,但不知道如何操作它,因此它需要任何形式的值?

$args = array(
    'post_type' => 'product', 
    'meta_query' => array(
     array(
      'key' => 'location', 
      'value' => '[LOCATION HERE]', 
      'compare' => 'NOT LIKE' 
     ), 
     array(
      'key' => 'price', 
      'value' => '[PRICE HERE FROM FORM]', 
      'type' => 'numeric', 
      'compare' => 'BETWEEN' 
     ) 
    ) 
); 
$query = new WP_Query($args); 

而且,據我所知,搜索查詢的推移function.php,但我把它從哪裏形式,或者將結果輸出?即。我的主頁或我的搜索頁面?

希望有人能幫助

回答

0

使用此代碼

$args = array(
'post_type' => 'Properties', 
'meta_query' => array(
    array(
     'key' => 'location', 
     'value' => '[LOCATION HERE]', 
     'compare' => 'LIKE' 
    ), 
    array(
     'key' => 'min_value', 
     'value' => '[min value here]', 
     'type' => 'numeric', 
     'compare' => 'BETWEEN' 
    ) 
    array(
     'key' => 'max_value', 
     'value' => '[max value here]', 
     'type' => 'numeric', 
     'compare' => 'BETWEEN' 
    ) 
    array(
     'key' => 'bedrooms', 
     'value' => '[bedroom here]', 
     'compare' => 'LIKE' 
    ), 
) 
); 
$query = new WP_Query($args); 

和您的searchpage ....

+0

嗨,那麼它是如何採取您的形式的價值?說如果你的表單域ID是'臥室'是否成爲搜索數組的'價值'? – snakespan

+0

你必須使用表單字段'name'而不是'id'。 –

+0

因此,表單的名稱與數組的關鍵字匹配,以及它們如何鏈接? – snakespan

0

感謝您的幫助約傑什調用這個,我修改你的答案得到這似乎工作:

  <?php $args = array(
        'post_type' => 'Property', 
        'property_type'=>$_GET['type'], 
        'meta_query' => array(
         'relation' => 'AND', 
         array(
          'key' => '_property_info_location', 
          'value' => Cuztom::uglify($_GET['location']), 
         ), 
         array(
          'key' => '_property_info_bedrooms', 
          'value' => $_GET['bedrooms'], 
         ), 
         array(
          'key' => '_property_info_price', 
          'value' => $_GET['max_value'], 
          'compare' => '<=', 
          'type' => 'numeric', 
         ), 
         array(
          'key' => '_property_info_price', 
          'value' => $_GET['min_value'], 
          'compare' => '>=', 
          'type' => 'numeric', 
         ), 
        ), 
       ); 
       $the_query = new WP_Query($args); 
       ?>