1

我有一些自定义字段作为新帖子类型的元数据 - 属性(用于房地产经纪人),因此希望按卧室数量、最小值/最大值和位置进行搜索。我有一个表单,其中每个字段都有多个下拉列表:

位置、最小值、最大值、卧室

此外,我在帖子本身上有元框,所以一个用于价格、卧室、位置和 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 上进行的,但我是从表单所在的位置调用它,还是从输出结果的位置调用它?IE。我的主页还是我的搜索页面?

希望有人可以帮助

4

2 回答 2

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......

于 2012-10-02T10:44:20.410 回答
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 );
                ?>
于 2012-10-06T11:13:20.733 回答