Почему не работает meta_query с полями ACF?

Всем привет. Не работает выборка постов по полям ACF, не могу понять в чем проблема. У постов типа tours есть произвольные поля ACF,

Хочу получить посты по произвольному полю цена (ACF)

$args7 = array(
    'post_type' => 'tours', 
    'meta_query' => array(
     array(
      'key' => 'tour_price',
      'value' => array( 1000, 7000 ),
      'compare' => 'BETWEEN' 
     ) 
    ) 
); 


$query = new WP_Query($arg7); 

if ($query->have_posts()): while ($query->have_posts()): $query->the_post(); ?>


Но ничего не работает, если работаю с терминами таксономии, то все работает, а вот meta_query в любом виде не хочет работать, хотя в документации ACF описаны примеры, что не так???? https://www.advancedcustomfields.com/resources/que...
  • Вопрос задан
  • 676 просмотров
Решения вопроса 1
kobyakovdima
@kobyakovdima
Любитель экспериментов
Здравствуйте. Вы параметры запроса храните в переменной $args7, а в класс WP_Query() передаёте уже другую переменную (неизвестную, пустышку) $arg7. Поэтому и не работает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
it_proger29
@it_proger29
Битрикс
$wp_query = array(
    'post_type' => 'page',
    'posts_per_page' => 4,
    'meta_query' => [
        'relation' => 'AND',
    ]
  );

  if(isset($_GET["priceMin"]) or isset($_GET["priceMax"])){
    $priceMin = $_GET["priceMin"];
    $priceMax = $_GET["priceMax"];
    if($priceMin or $priceMax){
      $wp_query['meta_query'][] = array(
        'priceMinMax_query' => array(
          'key' => 'price',
          'value' => array($_GET["priceMin"], $_GET["priceMax"]), // значение в промежутке от-до
          'compare' => 'BETWEEN',
          'type' => 'NUMERIC',
        ),
      );
    }
  }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы