Как выбрать товары с ценами с помощью WP_Query с ценами

145
14 сентября 2021, 10:20

Как можно выбрать товары вместе с ценами, и нужно потом вернуть результат выборки по ajax допустим в массиве, для дальнейшей обработки товаров с помощью js.
Делал так:

$query = array(
    'post_type'      => array('product'),
    'post_status'    => 'publish',
    'posts_per_page' => POSTS_PER_PAGE,
    'tax_query'      => array(
        array(
            'taxonomy'      => 'product_cat',
            'field'         => 'term_id',
            'terms'         => $currentCat,
            'operator'      => 'IN'
        ),
    ),
    'meta_query' => array(
        array(
            'key'     => '_price',
            'value'   => $data['prices'],
            'compare' => 'BETWEEN',
            'type'    => 'NUMERIC'
        )
    )
);
if(!empty($_POST['ids'])){
    $query['post__not_in'] = $_POST['ids'];
}
$products = new WP_Query( 'cat=1&tag=apples' );

но возвращаются данные только из таблицы wp_posts.
Как это правильно сделать, чтобы в массиве были товары с ценами?

Answer 1

Поправь tax_query

   'tax_query'      => array(
    array(
        'taxonomy'      => 'product_cat',
        'field'         => 'id',
        'terms'         => $currentCat,
    ),
Answer 2

Воспользуйтесь функцией wc_get_products( $args ); Он вернет Вам массив объектов WC_Product, там уже доставайте цену. Подробнее здесь https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query

READ ALSO
Помогите найти ошибку в коде php

Помогите найти ошибку в коде php

Взялся помочь человеку с сайтом на Bitrix, начал редактировать файл шаблона и испортил код, сейчас сайт не открывается с ошибкой "[ParseError] syntax...

70
из двух масивов дат в один php

из двух масивов дат в один php

у меня есть два массива с датами

71
shell_exec(). Как обработать вывод?

shell_exec(). Как обработать вывод?

Получаю ответ от shell_exec("screen -list"):

75
Расположение элементов из базы данных на странице

Расположение элементов из базы данных на странице

Всем привет! Подскажите пожалуйста, как сделать так, чтобы элементы из базы данных располагались в строку по 3, а не в столбец с новой строки

85