Чтобы получить ценовой диапазон вариантов в WooCommerce, вы можете использовать следующие методы:
-
Метод 1: использование класса
WC_Product_Variableи его методов:// Get the product ID $product_id = get_the_ID(); // Create an instance of the WC_Product_Variable class $product = new WC_Product_Variable($product_id); // Get the variations of the product $variations = $product->get_available_variations(); // Initialize variables $min_price = PHP_INT_MAX; $max_price = 0; // Loop through the variations and find the minimum and maximum prices foreach ($variations as $variation) { $price = floatval($variation['display_price']); if ($price < $min_price) { $min_price = $price; } if ($price > $max_price) { $max_price = $price; } } // Output the price range echo 'Price Range: $' . $min_price . ' - $' . $max_price; -
Метод 2. Использование пользовательских запросов к базе данных:
// Get the product ID $product_id = get_the_ID(); // Query the database to get the variation prices global $wpdb; $query = $wpdb->prepare(" SELECT MIN(meta.meta_value) as min_price, MAX(meta.meta_value) as max_price FROM {$wpdb->prefix}posts as posts INNER JOIN {$wpdb->prefix}postmeta as meta ON posts.ID = meta.post_id WHERE posts.post_parent = %d AND posts.post_type = 'product_variation' AND meta.meta_key = '_price' ", $product_id); // Execute the query $result = $wpdb->get_row($query); // Output the price range echo 'Price Range: $' . $result->min_price . ' - $' . $result->max_price;
Обратите внимание, что для реализации этих методов могут потребоваться знания кодирования, поэтому всегда рекомендуется создавать резервные копии ваших данных и тщательно тестировать их, прежде чем вносить какие-либо изменения в настройки WooCommerce.