WooCommerce: Product Category Price Range
VIA BUSINESS BLOOMERS

WooCommerce: Product Category Price Range

WooCommerce variable products display a price range by default, which goes something like this: $MIN-$MAX. Now, wouldn’t it be nice, on the Shop page or Category Widget, to show the price range for each category?

Well, as usual this is a customization that can apply to certain online businesses only, so hopefully you’re one of them. Either way, this is yet another chance for you to learn PHP applied to WooCommerce. Enjoy!

Here’s a nice snippet to show MIN and MAX prices for any given WooCommerce product category

PHP Snippet: Show Price Range Beside Product Category Names @ Shop Page

Note: this snippet replaces the the category product counter with the price range. In case you wish to display both, code changes slightly.

/** * @snippet       Product Category Price Range @ WooCommerce Shop * @how-to        Get CustomizeWoo.com FREE * @author        Rodolfo Melogli * @compatible    WooCommerce 5 * @donate $9     https://businessbloomer.com/bloomer-armada/ */add_filter( 'woocommerce_subcategory_count_html', 'bbloomer_category_price_range', 9999, 2 );function bbloomer_category_price_range( $html, $category ) {	$min = PHP_FLOAT_MAX;	$max = 0.00;		$all_ids = get_posts( array(		'post_type' => 'product',		'numberposts' => -1,		'post_status' => 'publish',		'fields' => 'ids',		'tax_query' => array(			'relation' => 'AND',			array(				'taxonomy' => 'product_cat',				'field' => 'slug',				'terms' => $category->slug,			),			array(				'taxonomy' => 'product_visibility',				'field' => 'name',				'terms' => 'exclude-from-catalog',        		'operator' => 'NOT IN',			),		)	) );		foreach ( $all_ids as $id ) {		$product = wc_get_product( $id );		if ( $product->is_type( 'simple' ) ) {			$min = $product->get_price() < $min ? $product->get_price() : $min;			$max = $product->get_price() > $max ? $product->get_price() : $max;		} elseif ( $product->is_type( 'variable' ) ) {			$prices = $product->get_variation_prices();			$min = current( $prices['price'] ) < $min ? current( $prices['price'] ) : $min;			$max = end( $prices['price'] ) > $max ? end( $prices['price'] ) : $max;		} 	}		return ' (' . wc_format_price_range( $min, $max ) . ')';}

WooCommerce: Product Category Price Range .

mersin escort