Untitled
unknown
plain_text
a day ago
2.2 kB
2
Indexable
function b2bking_add_tiered_pricing_type_fields() { global $post; $groups = get_posts(array( 'post_type' => 'b2bking_group', 'post_status' => 'publish', 'numberposts' => -1 )); echo '<div class="options_group">'; echo '<h4 style="padding-left:10px;">B2BKing Tiered Pricing Type</h4>'; echo '<p class="description">Configure which B2B groups will use "Each Additional" pricing (checked) vs. "Price Per Unit" pricing (unchecked).</p>'; foreach ($groups as $group) { woocommerce_wp_checkbox(array( 'id' => '_b2bking_tiered_pricing_each_additional_group_' . $group->ID, 'label' => esc_html($group->post_title), 'description' => 'Enable "Each Additional" pricing for this group', 'desc_tip' => true )); } echo '</div>'; } add_action('woocommerce_product_options_pricing', 'b2bking_add_tiered_pricing_type_fields'); function b2bking_save_tiered_pricing_type_fields($product_id) { $groups = get_posts(array( 'post_type' => 'b2bking_group', 'post_status' => 'publish', 'numberposts' => -1 )); foreach ($groups as $group) { $field_id = '_b2bking_tiered_pricing_each_additional_group_' . $group->ID; $setting = isset($_POST[$field_id]) ? 'yes' : 'no'; update_post_meta($product_id, $field_id, $setting); } } add_action('woocommerce_process_product_meta', 'b2bking_save_tiered_pricing_type_fields'); function b2bking_filter_tiered_pricing_type($use_each_additional, $product) { if (!$product || !is_object($product)) { return $use_each_additional; } $product_id = $product->get_id(); $group_id = b2bking()->get_user_group(); if (!$group_id) { return $use_each_additional; } $group_setting = get_post_meta($product_id, '_b2bking_tiered_pricing_each_additional_group_' . $group_id, true); if ($group_setting === 'yes') { return true; } return false; } add_filter('b2bking_tiered_pricing_use_each_additional', 'b2bking_filter_tiered_pricing_type', 10, 2);
Editor is loading...
Leave a Comment