WooCommerce Subscriptions — par WooCommerce
- Dans le fichier functions.php de votre thème WP actuel, ajoutez le code suivant :
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; } - Dans le fichier wp-content\plugins\woocommerce-subscriptions\vendor\woocommerce\subscriptions-core\includes\wcs-order-functions.php, ajoutez le code suivant :
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); } }
- Et dans le même fichier, le code suivant :
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); } }
- Dans le fichier wp-content\plugins\woocommerce-subscriptions\vendor\woocommerce\subscriptions-core\includes\class-wcs-cart-renewal.php, ajoutez le code suivant :
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); } }
- Dans le fichier wp-content\plugins\woocommerce-subscriptions\vendor\woocommerce\subscriptions-core\includes\class-wc-subscriptions-product.php, ajoutez le code suivant :
if (class_exists('WOOCS') AND $subscription_price) { global $WOOCS; if ($WOOCS->is_multiple_allowed) { $subscription_price = $WOOCS->woocs_exchange_value(floatval($subscription_price)); } }
- Dans le fichier wp-content\plugins\woocommerce-subscriptions\vendor\woocommerce\subscriptions-core\includes\class-wc-subscriptions-product.php, ajoutez le code suivant :
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)); } }
- Dans le fichier wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/class-wc-product-variable-subscription.php, ajoutez le code suivant :
if (isset($prices['price'][$min_price_variation_id])) { $price = $prices['price'][$min_price_variation_id]; }
Cette modification se trouve dans le fichier d'un autre plugin, donc une mise à jour du plugin l'annulera. Notez la modification et réappliquez-la après chaque mise à jour de ce plugin — ou demandez à ses auteurs d'inclure le correctif de leur côté, ce qui est la seule version qui persiste. Si la modification se trouve dans FOX lui-même, dites-nous : un correctif qui doit être réappliqué manuellement est un bug de notre côté, pas une solution.