1

新しい投稿タイプのプロパティ (不動産業者用) のメタデータとしていくつかのカスタム フィールドがあるので、寝室の数、最小/最大値、および場所で検索したいと考えています。これらのフィールドごとに複数のドロップダウンを持つフォームがあります。

場所、最小値、最大値、寝室

また、私は投稿自体にメタボックスを持っているので、価格、寝室、場所、およびプロパティタイプの分類タイプ (家賃、販売、商用) 用に 1 つです。

このコードをオンラインで見つけましたが、それを操作する方法がわからないので、フォームが取る値は何でもかまいませんか?

$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 にあることは理解していますが、フォームがある場所から呼び出すのですか、それとも結果が出力される場所から呼び出すのですか? すなわち。私のホームページまたは私の検索ページ?

誰かが助けてくれることを願っています

4

2 に答える 2

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 に答える
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 に答える