FOX - Currency Switcher for WooCommerce

WooCommerce Subscriptions by WooCommerce

Plugin-Link: https://woocommerce.com/products/woocommerce-subscriptions/
  • In der Datei functions.php Ihres aktuellen WordPress-Themes fügen Sie den folgenden Code hinzu:
    add_filter('woocommerce_subscription_price_string_details', 'woocs_woocommerce_subscription_price_string_details', 100, 2);
    
    function woocs_woocommerce_subscription_price_string_details($arg, $_this) {
    
        if (class_exists('WOOCS')) {
            global $WOOCS;
    
            $order_currency = get_post_meta($_this->get_id(), '_order_currency', true);
            if ($order_currency AND $WOOCS->current_currency != $order_currency) {
                $WOOCS->set_currency($order_currency);
            }
        }
    
        return $arg;
    }
    
  • In der Datei wp-content\plugins\woocommerce-subscriptions\vendor\woocommerce\subscriptions-core\includes\wcs-order-functions.php fügen Sie den folgenden Code hinzu:
    if (class_exists('WOOCS') AND 'renewal_order' == $type) {
        global $WOOCS;
        $_order_currency = get_post_meta($subscription->get_id(), '_order_currency', true);
        if ($_order_currency) {
            $WOOCS->set_currency($_order_currency);
        }
    }
    
    WooCommerce Subscriptions by WooCommerce
  • Und in derselben Datei den folgenden Code:
    if (class_exists('WOOCS')) {
        global $WOOCS;
        $order_currency = get_post_meta($order_id, '_order_currency', true);
        if ($order_currency AND $WOOCS->current_currency != $order_currency) {
            $WOOCS->set_currency($order_currency);
        }
    }
    
    WooCommerce Subscriptions by WooCommerce
  • In der Datei wp-content\plugins\woocommerce-subscriptions\vendor\woocommerce\subscriptions-core\includes\class-wcs-cart-renewal.php fügen Sie den folgenden Code hinzu:
    if (class_exists('WOOCS')) {
        global $WOOCS;
        if ($WOOCS->is_multiple_allowed) {
            $curr = get_post_meta($subscription->get_id(), '_order_currency', true);
            $currencies = $WOOCS->get_currencies();
            $rate = $currencies[$curr]['rate'];
            $price = $price / ($rate);
        }
    }
    
    WooCommerce Subscriptions by WooCommerce
  • In der Datei wp-content\plugins\woocommerce-subscriptions\vendor\woocommerce\subscriptions-core\includes\class-wc-subscriptions-product.php fügen Sie den folgenden Code hinzu:
    if (class_exists('WOOCS') AND $subscription_price) {
        global $WOOCS;
        if ($WOOCS->is_multiple_allowed) {
            $subscription_price = $WOOCS->woocs_exchange_value(floatval($subscription_price));
        }
    }
    
    WooCommerce Subscriptions by WooCommerce
  • Fügen Sie in der Datei wp-content\plugins\woocommerce-subscriptions\vendor\woocommerce\subscriptions-core\includes\class-wc-subscriptions-product.php den folgenden Code hinzu:
    if (class_exists('WOOCS') AND $sign_up_fee) {
        global $WOOCS;
        if ($WOOCS->is_multiple_allowed) {
            $sign_up_fee = $WOOCS->woocs_exchange_value(floatval($sign_up_fee));
        }
    }
  • In der Datei wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/class-wc-product-variable-subscription.php fügen Sie den folgenden Code hinzu:
    if (isset($prices['price'][$min_price_variation_id])) {
        $price = $prices['price'][$min_price_variation_id];
    }
    
    WooCommerce Subscriptions by WooCommerce
Diese Bearbeitung befindet sich innerhalb der Datei eines anderen Plugins, daher wird ein Plugin-Update sie rückgängig machen. Notieren Sie die Änderung und wenden Sie sie nach jedem Update dieses Plugins erneut an – oder bitten Sie die Autoren, den Fix auf ihrer Seite einzubauen, was die einzige Version ist, die bestehen bleibt. Wenn die Änderung innerhalb von FOX selbst erfolgt, teilen Sie uns mit: Ein Fix, der manuell erneut angewendet werden muss, ist ein Fehler unsererseits, keine Lösung.