Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Replaces the labels for a variation attribute, on the frontend, so that they
- * show amounts in the active currency.
- *
- * @param string $option_name The original option name.
- * @return string The new option name, with the amount in the active currency.
- * @author Aelia <support@aelia.co>
- * @link https://aelia.co
- */
- add_filter('woocommerce_variation_option_name', function($option_name) {
- $amount_to_convert = null;
- // Check if the label contains one of the "supported" amounts
- switch($option_name) {
- case '£10':
- $amount_to_convert = 10;
- break;
- case '£20':
- $amount_to_convert = 20;
- break;
- case '£50':
- $amount_to_convert = 50;
- break;
- case '£100':
- $amount_to_convert = 100;
- break;
- }
- // If an amount was determined, convert it to the active currency, format it
- // and use the new amount as the label for the option
- if(!empty($amount_to_convert)) {
- $active_currency = get_woocommerce_currency();
- // Generate the new label by calling the conversion functions provided by
- // the WooCommerce Currency Switcher
- $option_name = wc_price(apply_filters('wc_aelia_cs_convert', $price, 'GNP', $active_currency),
- array('currency' => $active_currency));
- }
- return $option_name;
- }, 10, 1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement