<?php
// Update Price Unit B2B
if (class_exists('WC_GZD_Product') && class_exists('WCB2B_Hooks') && !class_exists('tzn_custom_woocommerce_gzd_unit_price_html')) {
add_filter('woocommerce_gzd_unit_price_html', 'tzn_custom_woocommerce_gzd_unit_price_html', 99, 99);
function tzn_custom_woocommerce_gzd_unit_price_html($html, $product, $tax_display)
{
$show_sale = true;
$customer_group_id = get_option('wcb2b_guest_group');
if (is_user_logged_in() && wcb2b_has_role(get_current_user_id(), 'customer')) {
if ($group_id = get_the_author_meta('wcb2b_group', get_current_user_id())) {
$customer_group_id = $group_id;
}
}
else{
$customer_group_id = "112"; // id group Guest
}
$html = '';
if ($product->has_unit()) {
do_action('woocommerce_gzd_before_get_unit_price_html', $product);
$display_price = $product->get_formatted_unit_price(1, '', $tax_display);
$display_regular_price = $product->get_formatted_unit_price(1, $product->get_unit_price_regular(), $tax_display);
$display_sale_price = $product->get_formatted_unit_price(1, $product->get_unit_price_sale(), $tax_display);
$price_html = (($product->is_on_unit_sale() && $show_sale) ? $product->get_price_html_from_to($display_regular_price, $display_sale_price, false) : wc_price($display_price));
$product_group_prices = get_post_meta($product->get_id(), 'wcb2b_product_group_prices', true);
if( current_user_can( 'administrator' ) ){
// var_dump($product_group_prices);
}
if ($product_group_prices && isset($product_group_prices[$customer_group_id]) && $product_group_prices[$customer_group_id]['regular_price'] != "") {
$args = array(
'regular_price' => $product_group_prices[$customer_group_id]['regular_price'],
'sale_price' => $product_group_prices[$customer_group_id]['sale_price'],
'price' => $product_group_prices[$customer_group_id]['regular_price'],
);
$prices = wc_gzd_recalculate_unit_price($args, $product);
$price_html = wc_price($prices['unit']);
}
$html = wc_gzd_format_unit_price($price_html, $product->get_unit_html(), $product->get_unit_base_html(), wc_gzd_format_product_units_decimal($product->get_unit_product()));
}
return $html;
}
}
?>