WooCommerce Product Add-Ons (by WooCommerce)
The Plugin URL: https://woocommerce.com/products/product-add-ons/
- In file \plugins\woocommerce-product-addons\includes\class-product-addon-cart.php add next code:
if (class_exists('WOOCS')) { global $WOOCS; if ($WOOCS->is_multiple_allowed) { $currrent = $WOOCS->current_currency; if ($currrent != $WOOCS->default_currency) { $currencies = $WOOCS->get_currencies(); $rate = $currencies[$currrent]['rate']; //$price = $price / $rate; } } }
- AND add this code:
$price_temp = $addon['price']; if (class_exists('WOOCS')) { global $WOOCS; $currrent = $WOOCS->current_currency; if ($currrent != $WOOCS->default_currency AND $WOOCS->is_multiple_allowed) { $currencies = $WOOCS->get_currencies(); $rate = $currencies[$currrent]['rate']; $price_temp = $price_temp * $rate; } }
- AND change code:
if ($addon['price'] && 'percentage_based' !== $price_type && class_exists('WOOCS')) { global $WOOCS; $currrent = $WOOCS->current_currency; if ($currrent != $WOOCS->default_currency AND $WOOCS->is_multiple_allowed) { $currencies = $WOOCS->get_currencies(); $rate = $currencies[$currrent]['rate']; $addon['price'] = $addon['price'] * $rate; } }
- In file \wp-content\plugins\woocommerce-product-addons\includes\class-product-addon-display.php add code:
$suffix = ''; //woocs fix $woocs_is_multiple = 0; if (class_exists('WOOCS')) { global $WOOCS; $woocs_is_multiple = $WOOCS->is_multiple_allowed; }
- AND add code: ‘woocs_is_multiple’ => $woocs_is_multiple
- in file plugins\woocommerce-product-addons\assets\js\addons.js add code:
var woocs_exists = true; try { if (woocs_current_currency) woocs_exists = true; } catch (e) { woocs_exists = false; } if (woocs_exists) { if (woocs_current_currency != undefined && woocs_current_currency['rate'] != undefined && woocommerce_addons_params.woocs_is_multiple == 0) { product_price = product_price * woocs_current_currency['rate']; } }
- AND add this code:
var woocs_exists = true; try { if (woocs_current_currency) woocs_exists = true; } catch (e) { woocs_exists = false; } if (woocs_exists) { if (woocs_current_currency != undefined && woocs_current_currency['rate'] != undefined && addon_cost != undefined) { addon_data.cost = addon_data.cost * woocs_current_currency['rate']; addon_data.cost_raw = addon_data.cost_raw * woocs_current_currency['rate']; } }
- In file functions.php of your current wordpress theme add code:
add_filter('woocommerce_product_addons_option_price', 'woocs_compatib_woopd', 99990, 4); add_filter('woocommerce_product_addons_price', 'woocs_compatib_woopd', 99990, 4); function woocs_compatib_woopd($price, $option, $i, $type) { if ($option['price'] > 0 AND class_exists('WOOCS')) { global $WOOCS; $currrent = $WOOCS->current_currency; if ($currrent != $WOOCS->default_currency AND $WOOCS->is_multiple_allowed) { $currencies = $WOOCS->get_currencies(); $rate = $currencies[$currrent]['rate']; $price = '(' . wc_price(WC_Product_Addons_Helper::get_product_addon_price_for_display($option['price'] * $rate)) . ')'; } } return $price; }