Untitled
unknown
plain_text
2 years ago
3.8 kB
7
Indexable
add_action('b2bking_bulkorder_cream_custom_heading', function(){ ?> <div class="b2bking_bulkorder_form_container_content_header_qty b2bking_bulkorder_form_container_content_header_qty_indigo b2bking_bulkorder_form_container_content_header_qty_cream"> <?php esc_html_e('Lowest Price', 'b2bking'); ?> </div> <?php }, 100); add_action('b2bking_bulkorder_cream_custom_column', function($product){ $post_id = $product->get_id(); // calculate lowest price $user_id = get_current_user_id(); $user_id = b2bking()->get_top_parent_account($user_id); $currentusergroupidnr = apply_filters('b2bking_b2b_group_for_pricing', b2bking()->get_user_group($user_id), $user_id); $is_b2b_user = get_user_meta( $user_id, 'b2bking_b2buser', true ); if ( apply_filters('b2bking_tiered_table_discount_uses_sale_price', $product->is_on_sale() ) ) { $original_user_price = get_post_meta($product->get_id(),'_sale_price',true); if ($is_b2b_user === 'yes'){ // Search if there is a specific price set for the user's group $b2b_price = b2bking()->tofloat(get_post_meta($product->get_id(), 'b2bking_sale_product_price_group_'.$currentusergroupidnr, true )); if (!empty($b2b_price)){ $original_user_price = $b2b_price; } } } else { $original_user_price = get_post_meta($product->get_id(),'_regular_price',true); if ($is_b2b_user === 'yes'){ // Search if there is a specific price set for the user's group $b2b_price = b2bking()->tofloat(get_post_meta($product->get_id(), 'b2bking_regular_product_price_group_'.$currentusergroupidnr, true )); if (!empty($b2b_price)){ $original_user_price = $b2b_price; } } } // adjust price for tax $original_user_price = b2bking()->b2bking_wc_get_price_to_display( $product, array( 'price' => $original_user_price ) ); // get sale price $price_tiers = get_post_meta($post_id, 'b2bking_product_pricetiers_group_'.$currentusergroupidnr, true); $user_price = array(); $grpriceexists = 'no'; // if didn't find anything as a price tier + user does not have group price, give regular price tiers // if no tiers AND no group price exists, get B2C tiered pricing if ($currentusergroupidnr){ $grregprice = get_post_meta($post_id, 'b2bking_regular_product_price_group_'.$currentusergroupidnr, true ); $grsaleprice = get_post_meta($post_id, 'b2bking_sale_product_price_group_'.$currentusergroupidnr, true ); if (!empty($grregprice) && b2bking()->tofloat($grregprice) !== 0){ $grpriceexists = 'yes'; } if (!empty($grsaleprice) && b2bking()->tofloat($grsaleprice) !== 0){ $grpriceexists = 'yes'; } } if (empty($price_tiers) && $grpriceexists === 'no'){ $price_tiers = get_post_meta($product->get_id(), 'b2bking_product_pricetiers_group_b2c', true ); } $price_tiers = b2bking()->convert_price_tiers($price_tiers, $product); if (!empty($price_tiers) && strlen($price_tiers) > 1 ){ $price_tiers_array = explode(';', $price_tiers); $price_tiers_array = array_filter($price_tiers_array); // need to order this array by the first number (elemnts of form 1:5, 2:5, 6:5) $helper_array = array(); foreach ($price_tiers_array as $index=> $pair){ $pair_array = explode(':', $pair); $helper_array[$pair_array[0]] = b2bking()->tofloat($pair_array[1], 4); } ksort($helper_array); $price_tiers_array = array(); foreach ($helper_array as $index=>$value){ array_push($price_tiers_array,$index.':'.$value); } $prices_array = array(); foreach ($price_tiers_array as $index => $tier){ $tier_values = explode(':', $tier); array_push($prices_array, $tier_values[1]); } if (!empty($prices_array)){ $original_user_price = min($prices_array); } } ?> <div class="b2bking_bulkorder_cream_stock"><?php echo wc_price($original_user_price);?></div> <?php }, 100, 1);
Editor is loading...