Untitled
unknown
plain_text
7 months ago
2.2 kB
17
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