我有一些自定义字段作为新帖子类型的元数据 - 属性(对于房地产经纪人),所以想要按卧室数量,最小/最大值和位置进行搜索。我有一个表单,其中包含以下每个字段的多个下拉列表:
location,min_value,max_value,bedrooms
另外,我在帖子本身上有元框,因此有一个用于价格,卧室,位置和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 :(得分: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
....
答案 1 :(得分:0)
感谢Yogesh的帮助,我修改了你的答案以获得这似乎有效:
<?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 );
?>