@sergiocharm

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

Подскажите Как вывести минимальную и максимальную стоимость товара в категории?
Надо чтобы при входе в категорию выводились 2 цифры максимум и минимум цена в категории.
  • Вопрос задан
  • 812 просмотров
Решения вопроса 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 минимальные и максимальные цены в данной категории.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы