FOX - Currency Switcher for WooCommerce

Fancy Product Designer

Enlace del pluginhttps://codecanyon.net/item/fancy-product-designer-woocommercewordpress/6318393 En el archivo \wp-content\plugins\fancy-product-designer\inc\class-frontend.php añade el siguiente código:
var price = fancyProductDesigner.calculatePrice();
if (woocs_current_currency != 'undefined' && woocs_current_currency['rate'] != 'undefined')
    {
     var dec = 1;
     if (woocs_current_currency['decimals']) {
        dec = Math.pow(10, woocs_current_currency['decimals']);
    }
    price = Math.round(price * woocs_current_currency['rate'] * dec) / dec;

}
Añade el siguiente código en el mismo archivo:
if (class_exists('WOOCS')) {
    global $WOOCS;
    $currencies = $WOOCS->get_currencies();
    $cur_cur = $WOOCS->current_currency;
    if ($cur_cur != $WOOCS->default_currency) {
        $sign = $currencies[$cur_cur]['symbol'];
        switch ($currencies[$cur_cur]['position']) {
            case 'right':
            case 'right_space':
                $price_format = "%d" . $sign;
                break;
            case 'left':
            case 'left_space':
            default:
                $price_format = $sign . "%d";
        }
    }
}

En el archivo \wp-content\plugins\fancy-product-designer\inc\api\class-product-settings.php añade el siguiente código:
if ($parameter == 'price') {
    if (class_exists('WOOCS')) {
        global $WOOCS;
        if ($WOOCS->is_multiple_allowed) {
            $value = $WOOCS->woocs_exchange_value(floatval($value));
        }
    }
}

En el archivo \wp-content\plugins\fancy-product-designer\inc\api\class-product-settings.php añade el siguiente código:
if ($parameter == 'price') {
    if (class_exists('WOOCS')) {
        global $WOOCS;
        if ($WOOCS->is_multiple_allowed) {
            $value = $WOOCS->woocs_exchange_value(floatval($value));
        }
    }
}

En el archivo wp-content\plugins\fancy-product-designer\woo\class-wc-cart.php añade el siguiente código:
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'];
            $_POST['fpd_product_price'] = $_POST['fpd_product_price'] / $rate;
        }
    }
}
Además, en el mismo archivo añade el siguiente código:
$tmp_price = $product->get_price();
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'];
            $tmp_price = $tmp_price / $rate;
        }
    }
}
$final_price = $final_price < $tmp_price ? $tmp_price : $final_price;
Esta edición está dentro del archivo de otro plugin, por lo que una actualización del plugin la deshará. Anota el cambio y vuelve a aplicarlo después de cada actualización de ese plugin, o pide a sus autores que incluyan la solución por su parte, que es la única versión que perdura. Si el cambio está dentro del propio FOX, dínoslo: una solución que tenga que reaplicarse manualmente es un error por nuestra parte, no una solución.