2012-10-02 87 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); 
       ?>