Фильтрация данных с помощью WP_Meta_Query - PullRequest
0 голосов
/ 25 октября 2018

Я хочу искать ресторан по вместимости.Я выберу число из выпадающего списка, и я должен показать рестораны между минимальной и максимальной вместимостью.Я попробовал ниже код.Но это всегда не дает результатов.

$_seating_capacity  = $_GET['seating_capacity'] != '' ? $_GET['seating_capacity'] : '';
$_standing_capacity = $_GET['standing_capacity'] != '' ? $_GET['standing_capacity'] : '';
$_neighborhood      = $_GET['neighborhood'] != '' ? $_GET['neighborhood'] : '';
// Start the Query
$v_args = array(
    'post_type'  => 'Dinings', // your CPT
    'meta_query' => array(
        'relation' => 'AND',
        array(
            'relation' => 'OR',
            array(
                'relation' => 'AND',
                array( 'key'     => 'min_capacity_sit',
                       'value'   => $_seating_capacity,
                       'compare' => '=>',
                       'type'    => 'NUMERIC',
                ),
                //AND Conditation
                array( 'key'     => 'max_capacity_sit',
                       'value'   => $_seating_capacity,
                       'compare' => '<=',
                       'type'    => 'NUMERIC',
                )
            ),

            //OR Conditation
            array( 'key'     => 'max_capacity_stand',
                   'value'   => $_standing_capacity,
                   'compare' => '<=',
                   'type'    => 'NUMERIC',
            )
        ),
        //AND Conditation
        array( 'key' => 'neighborhood', 'value' => $_neighborhood, 'compare' => 'Like', ),
    )
);

1 Ответ

0 голосов
/ 25 октября 2018

В ваших сравнениях есть ошибка, которую вы используете =>, но синтаксис: >=.

Также это довольно запрос.Если есть другие проблемы, я рекомендую вам комментировать каждый шаг.И включите 1 шаг за раз, отладку также один шаг за раз.

документация WP_Query

...