Hướng dẫn hiển thị Phạm vi giá của danh mục sản phẩm trong WooCommerce

5/5 - (2 bình chọn)

Zubi Cloud hướng dẫn người dùng thiết kế wordpress cách làm sao để hiển thị Phạm vi giá của danh mục sản phẩm trong WooCommerce. Các sản phẩm biến WooCommerce hiển thị phạm vi giá theo mặc định, giống như sau: $ MIN – $ MAX. Bây giờ, sẽ không hay khi trên trang Cửa hàng hoặc Tiện ích danh mục, hiển thị phạm vi giá cho từng danh mục phải không?

 

Dưới đây là một đoạn mã đẹp để hiển thị giá MIN và MAX cho bất kỳ danh mục sản phẩm WooCommerce nhất định nào
Dưới đây là một đoạn mã đẹp để hiển thị giá MIN và MAX cho bất kỳ danh mục sản phẩm WooCommerce nhất định nào

Hướng dẫn hiển thị Phạm vi giá của danh mục sản phẩm trong WooCommerce

đoạn mã này thay thế bộ đếm danh mục sản phẩm bằng phạm vi giá . Trong trường hợp bạn muốn hiển thị cả hai, mã sẽ thay đổi một chút.

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 ) . ')';
}
5/5 - (2 bình chọn)


Trả lời