Почему не работает meta_query?

306
04 марта 2017, 05:56

Есть вот такой код:

$term = get_term( $cat, 'product_cat');
$args = array(
    'post_type' => 'product',
    'post_status' => 'publish',
    'ignore_sticky_posts'   => 1,
    'posts_per_page' => 50,
    'tax_query' => array(
        array(
            'taxonomy' => 'product_cat',
            'field' => 'id',
            'terms' => $cat
        )
    )
);
$products = new WP_Query( $args );

Всё прекрасно работает, но как только я добавляю meta_query, всё перестает работать, var_dump($products) показывает, что ни одного свойства товара в массиве нету. В чём может быть проблема?

Нерабочий код:

$attributes = $product->get_attributes();
$args = array(
    'post_type' => 'product',
    'post_status' => 'publish',
    'ignore_sticky_posts'   => 1,
    'posts_per_page' => 50,
    'tax_query' => array(
        array(
            'taxonomy' => 'product_cat',
            'field' => 'id',
            'terms' => $cat,
        )
    ),
    'meta_query' => array(
        array(
            'key' => 'cena-polotna-banner',
            'value' => '4500'
        )
    )
);
$products = new WP_Query( $args );

Далее идет цикл while

while ( $products->have_posts() ) : $products->the_post();

Без meta_query выводит товары, как только добавляю — всё пропадает.

Получил атрибуты вот так:

$attributes = $product->get_attributes();

Вывести по ключу в цикле получилось, но фильтровать отказывается.

Answer 1

Попробуйте так задать meta_query:

'meta_query' => array(
    array(
        'key' => 'cena-polotna-banner',
        'value' => '4500',
        'compare' => '=',
        'type' => 'numeric'
    )
)
READ ALSO
Пустое сообщение с формы обратной связи PHP

Пустое сообщение с формы обратной связи PHP

Прошу помощи, приходят сообщения, в которых только такое содержание: Name:

263
PHP Двойные и одинарные кавычки

PHP Двойные и одинарные кавычки

Всем доброго дняСовсем запутался в кавычках:

345
Проверка DDOS защиты сайта самим DDOSом

Проверка DDOS защиты сайта самим DDOSом

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

248
неправильно отображается в HTML текст из mysql

неправильно отображается в HTML текст из mysql

пытаюсь вывести на страницу в отдельные блоки данные из таблицы, но если текст немного длиннее то все идёт в одну строку как будто игнорит...

226