currency-switcher
4 weeks ago
class-wcml-custom-prices.php
4 weeks ago
class-wcml-multi-currency-configuration.php
4 weeks ago
class-wcml-multi-currency-coupons.php
1 year ago
class-wcml-multi-currency-install.php
4 weeks ago
class-wcml-multi-currency-orders.php
4 weeks ago
class-wcml-multi-currency-prices.php
4 weeks ago
class-wcml-multi-currency-reports.php
4 weeks ago
class-wcml-multi-currency-resources.php
4 weeks ago
class-wcml-multi-currency-shipping.php
4 weeks ago
class-wcml-multi-currency-table-rate-shipping.php
4 weeks ago
class-wcml-multi-currency.php
4 weeks ago
class-wcml-price-filter.php
4 weeks ago
class-wcml-w3tc-multi-currency.php
4 weeks ago
class-wcml-price-filter.php
47 lines
| 1 | <?php |
| 2 | |
| 3 | class WCML_Price_Filter { |
| 4 | |
| 5 | private $woocommerce_wpml; |
| 6 | |
| 7 | public function __construct( woocommerce_wpml $woocommerce_wpml ) { |
| 8 | $this->woocommerce_wpml = $woocommerce_wpml; |
| 9 | } |
| 10 | |
| 11 | public function add_hooks() { |
| 12 | add_action( 'wp_footer', [ $this, 'override_currency_symbol' ], 100 ); |
| 13 | |
| 14 | if ( ! is_admin() ) { |
| 15 | add_filter( 'woocommerce_product_query_meta_query', [ $this, 'unconvert_price_filter_limits' ] ); |
| 16 | } |
| 17 | |
| 18 | } |
| 19 | |
| 20 | public function override_currency_symbol() { |
| 21 | ?> |
| 22 | <script type="text/javascript"> |
| 23 | /* <![CDATA[ */ |
| 24 | if( typeof woocommerce_price_slider_params !== 'undefined' ) { |
| 25 | woocommerce_price_slider_params.currency_format_symbol = wcml_mc_settings.current_currency.symbol; |
| 26 | } |
| 27 | /* ]]> */ |
| 28 | </script> |
| 29 | <?php |
| 30 | } |
| 31 | |
| 32 | public function unconvert_price_filter_limits( $meta_query ) { |
| 33 | |
| 34 | $multi_currency = $this->woocommerce_wpml->multi_currency; |
| 35 | |
| 36 | if ( $multi_currency->get_client_currency() !== wcml_get_woocommerce_currency_option() ) { |
| 37 | if ( isset( $meta_query['price_filter']['key'] ) && $meta_query['price_filter']['key'] === '_price' ) { |
| 38 | $meta_query['price_filter']['value'][0] = $multi_currency->prices->unconvert_price_amount( $meta_query['price_filter']['value'][0] ); |
| 39 | $meta_query['price_filter']['value'][1] = $multi_currency->prices->unconvert_price_amount( $meta_query['price_filter']['value'][1] ); |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | return $meta_query; |
| 44 | } |
| 45 | |
| 46 | } |
| 47 |