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 / compatibility / WcPip / MulticurrencyHooks.php
woocommerce-multilingual / compatibility / WcPip Last commit date
Factory.php 1 month ago Helper.php 1 month ago MulticurrencyHooks.php 1 month 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