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 / compatibility / WcPip / MulticurrencyHooks.php
woocommerce-multilingual / compatibility / WcPip Last commit date
Factory.php 2 weeks ago Helper.php 2 weeks ago MulticurrencyHooks.php 2 weeks ago class-wcml-pip.php 2 years ago
MulticurrencyHooks.php
55 lines
1 <?php
2
3 namespace WCML\Compatibility\WcPip;
4
5 class MulticurrencyHooks implements \IWPML_Action {
6
7 public function add_hooks() {
8 add_filter( 'woocommerce_currency_symbol', [ $this, 'filter_pip_currency_symbol' ] );
9 add_filter( 'wcml_filter_currency_position', [ $this, 'filter_pip_currency_position' ] );
10 }
11
12 public function filter_pip_currency_symbol( $currencySymbol ) {
13 remove_filter( 'woocommerce_currency_symbol', [ $this, 'filter_pip_currency_symbol' ] );
14
15 $currency = self::getPipOrderCurrency();
16
17 if ( $currency ) {
18 $currencySymbol = get_woocommerce_currency_symbol( $currency );
19 }
20
21 add_filter( 'woocommerce_currency_symbol', [ $this, 'filter_pip_currency_symbol' ] );
22
23 return $currencySymbol;
24 }
25
26 public function filter_pip_currency_position( $currency ) {
27 remove_filter( 'wcml_filter_currency_position', [ $this, 'filter_pip_currency_position' ] );
28
29 $currency = self::getPipOrderCurrency( $currency );
30
31 add_filter( 'wcml_filter_currency_position', [ $this, 'filter_pip_currency_position' ] );
32
33 return $currency;
34 }
35
36 private static function getPipOrderCurrency( $currency = false ) {
37 $pip_order_id = Helper::getPipOrderId();
38
39 if ( $pip_order_id && WC()->order_factory instanceof \WC_Order_Factory ) {
40
41 $the_order = WC()->order_factory->get_order( $pip_order_id );
42
43 if ( $the_order ) {
44 $currency = $the_order->get_currency();
45
46 if ( ! $currency && isset( $_COOKIE['_wcml_order_currency'] ) ) {
47 $currency = $_COOKIE['_wcml_order_currency'];
48 }
49 }
50 }
51
52 return $currency;
53 }
54 }
55