PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / classes / Multicurrency / Shipping / FreeShipping.php
woocommerce-multilingual / classes / Multicurrency / Shipping Last commit date
AdminHooks.php 1 week ago DefaultConversion.php 1 week ago FlatRateShipping.php 5 years ago FreeShipping.php 1 week ago FrontEndHooks.php 1 week ago LocalPickup.php 5 years ago ShippingClasses.php 1 week ago ShippingClassesMode.php 1 week ago ShippingHooksFactory.php 1 week ago ShippingMode.php 1 week ago ShippingModeBase.php 1 week ago ShippingModeProvider.php 1 week ago UnsupportedShipping.php 1 week ago VariableCost.php 1 week ago
FreeShipping.php
65 lines
1 <?php
2
3 namespace WCML\Multicurrency\Shipping;
4
5 class FreeShipping implements ShippingMode {
6 use ShippingModeBase;
7 use DefaultConversion;
8
9 public function getFieldTitle( $currencyCode ): string {
10 if ( ! is_string( $currencyCode ) ) {
11 $currencyCode = '';
12 }
13
14 /* translators: %s is the currency code */
15 return sprintf( esc_html_x( 'Minimal order amount in %s',
16 'The label for the field with minimal order amount in additional currency. The currency symbol will be added in place of %s specifier.',
17 'woocommerce-multilingual' ), $currencyCode );
18 }
19
20 public function getFieldDescription( $currencyCode ): ?string {
21 if ( ! is_string( $currencyCode ) ) {
22 $currencyCode = '';
23 }
24
25 /* translators: %s is the currency code */
26 return sprintf( esc_html_x( 'The minimal order amount if customer choose %s as a purchase currency.',
27 'The description for the field with minimal order amount in additional currency. The currency symbol will be added in place of %s specifier.',
28 'woocommerce-multilingual' ), $currencyCode );
29 }
30
31 public function getMethodId() {
32 return 'free_shipping';
33 }
34
35 private function getMinimalOrderAmountKey( $currencyCode ) {
36 return sprintf( 'min_amount_%s', $currencyCode );
37 }
38
39 public function getSettingsFormKey( $currencyCode ) {
40 return $this->getMinimalOrderAmountKey( $currencyCode );
41 }
42
43 public function getMinimalOrderAmountValue( $amount, $shipping, $currency ) {
44 if ( $this->isManualPricingEnabled( $shipping ) ) {
45 $key = $this->getMinimalOrderAmountKey( $currency );
46 if ( ! empty( $shipping[ $key ] ) ) {
47 $amount = $shipping[ $key ];
48 } else {
49 $amount = $this->getValueFromDefaultCurrency( $amount, $shipping, $key, $currency );
50 }
51 }
52 return $amount;
53 }
54
55 public function getShippingCostValue( $rate, $currency ) {
56 if ( ! isset( $rate->cost ) ) {
57 $rate->cost = 0;
58 }
59 return $rate->cost;
60 }
61
62 public function isManualPricingEnabled( $instance ) {
63 return is_array( $instance ) && isset( $instance['wcml_shipping_costs'] ) && 'manual' === $instance['wcml_shipping_costs'];
64 }
65 }