PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / trunk
WPML Multilingual & Multicurrency for WooCommerce vtrunk
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 month ago DefaultConversion.php 1 month ago FlatRateShipping.php 5 years ago FreeShipping.php 1 month ago FrontEndHooks.php 1 month ago LocalPickup.php 5 years ago ShippingClasses.php 1 month ago ShippingClassesMode.php 1 month ago ShippingHooksFactory.php 1 month ago ShippingMode.php 1 month ago ShippingModeBase.php 1 month ago ShippingModeProvider.php 1 month ago UnsupportedShipping.php 1 month ago VariableCost.php 1 month 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 }