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)


0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
1 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
zoritoler imol

You are a very smart person!