• Всем привет. Подскажите пожалуйста, как вывести посты, по acf checkbox.

    
        $args = array(
            'posts_per_page' => -1,
            'orderby' => 'date',
            'order' => 'DESC',
            'post_type' => 'teacher',
            // 'relation' => 'OR',
            'meta_query' => array(
                'relation' => 'AND',
                array(
                  'key' => 'pricePr_filter', 
                  'value' => $price,
                  'compare' => '<=',
                  'type' => 'NUMERIC'
                ),
                array(
                  'key' => 'catPr_filter',
                  'value' => array('Для начинающих', 'Опытные'),
                  'compare' => 'IN',
    
                ),
    
              
            ),
        );

    У меня поле чекбокса catPr_filter. Пробовал и value вписывать и lable. Что то не получается. Что я не так делаю?

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • ACF хранит все значения в одном поле в базе, попробуйте вместо IN указать LIKE.

    Я пробовал, тогда все выводится. Не учитывает это поле.

    Попробовал value вбить не array, а отдельное значение и поставить like, и вроде как ищет. А как ему array то скормить? foreach чтоль использовать)

    Надо указать оба значения в двух параметрах metaquery. И правильно указать комбинацию логических условий

    P. S. А вообще получается очень тяжёлый запрос в базу, я бы отдельную таксономию использовал

    • Ответ изменён 1 год, 7 месяцев назад пользователем efess.

    Большой запрос, да. У меня несколько полей с чекбоксами. И в них по 5-7 чекбоксов. А как потом запрос собрать из нескольких таксономий? Я просто ни разу не делал.

    Модератор Юрій

    (@yube)

    С tax_query практически так же, как и с meta_query (см. https://developer.wordpress.org/reference/classes/wp_query/#taxonomy-parameters), но из-за разницы в способах хранения термов/реляций и метаданных, результирующие SQL-запросы получаются не такими отвратительными.

    Ну да. И код чище). Спасибо большое за помощь

    Еще маленькая загвоздка. Я ajax фильтр делаю. Отправляю чекбоксы (массив) к обработчику. Там этот массив хочу вставить в tax_query, но не выходит. Я пытался массив этот с помощью implode привести в строку, через запятую и вставить это в array(). Один параметр ищет, а если будет 2, то нет. array(‘par’, ‘par2’) — вот так выглядит. Если руками вставить то норм, а если переменной, то не хочет

    Все, отмена. Это я тупанул)

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «ACF checkbox» закрыта для новых ответов.