@sergiocharm

Как вывести минимальную и максимальную стоимость товара в категории?

Подскажите Как вывести минимальную и максимальную стоимость товара в категории?
Надо чтобы при входе в категорию выводились 2 цифры максимум и минимум цена в категории.
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
  • @Alex-Woo
    full stack developer
    Если товар без вариаций самый быстродействующий способ - прямой запрос к базе, но если вдруг разработчики Woocommerce решат изменить структуру базы данных в последующих версиях, этот запрос потребует корректировки.

    global $wp_query;
    	global $wpdb;
    	$current_category_id =  $wp_query->queried_object->term_id;
    
    	$min_price = $wpdb->get_var($wpdb->prepare("SELECT MIN(CAST(m.meta_value AS UNSIGNED INTEGER)) FROM wp_posts p INNER JOIN wp_term_relationships r ON (p.ID = r.object_id) INNER JOIN wp_term_taxonomy t  ON (r.term_taxonomy_id = t.term_taxonomy_id) INNER JOIN wp_postmeta m ON (p.ID = m.post_id) WHERE t.term_id = %s AND t.taxonomy = 'product_cat' AND p.post_type = 'product' AND p.post_status = 'publish' AND m.meta_key = '_price'", $current_category_id));
    
    	$max_price = $wpdb->get_var($wpdb->prepare("SELECT MAX(CAST(m.meta_value AS UNSIGNED INTEGER)) FROM wp_posts p INNER JOIN wp_term_relationships r ON (p.ID = r.object_id) INNER JOIN wp_term_taxonomy t  ON (r.term_taxonomy_id = t.term_taxonomy_id) INNER JOIN wp_postmeta m ON (p.ID = m.post_id) WHERE t.term_id = %s AND t.taxonomy = 'product_cat' AND p.post_type = 'product' AND p.post_status = 'publish' AND m.meta_key = '_price'", $current_category_id));


    Теперь в переменных $min_price и $max_price минимальные и максимальные цены в данной категории.
    Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы