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 / WpQueryMcPrice / AbstractPriceByPostMeta.php
woocommerce-multilingual / classes / Multicurrency / WpQueryMcPrice Last commit date
AbstractPriceByPostMeta.php 1 week ago Factory.php 1 week ago PriceFilteringByPostMeta.php 1 week ago PriceOrderByPostMeta.php 1 week ago
AbstractPriceByPostMeta.php
45 lines
1 <?php
2
3 namespace WCML\Multicurrency\WpQueryMcPrice;
4
5 abstract class AbstractPriceByPostMeta {
6
7 const WCML_CUSTOM_PRICES_STATUS_ALIAS = 'wcml_mc_status';
8
9 const WCML_PRICE_ALIAS = 'wcml_org_price';
10
11 const WCML_MC_PRICE_ALIAS = 'wcml_mc_price';
12
13 protected $woocommerce_wpml;
14
15 protected $wpdb;
16
17 protected $default_currency;
18
19 protected $client_currency;
20
21 public function __construct( \woocommerce_wpml $woocommerce_wpml, \wpdb $wpdb ) {
22 $this->woocommerce_wpml = $woocommerce_wpml;
23 $this->wpdb = $wpdb;
24
25 $this->default_currency = wcml_get_woocommerce_currency_option();
26 $this->client_currency = $this->woocommerce_wpml->multi_currency->get_client_currency();
27 }
28
29 protected function buildWCMLMultiCurrencyQueryJoin( $clausesJoinSQL ) {
30 if ( false === strpos( $clausesJoinSQL, ' ' . self::WCML_CUSTOM_PRICES_STATUS_ALIAS . ' ' ) ) {
31 $clausesJoinSQL .= "\n LEFT JOIN {$this->wpdb->postmeta} AS " . self::WCML_CUSTOM_PRICES_STATUS_ALIAS . " ON ({$this->wpdb->posts}.ID = " . self::WCML_CUSTOM_PRICES_STATUS_ALIAS . ".post_id) and " . self::WCML_CUSTOM_PRICES_STATUS_ALIAS . ".meta_key = '_wcml_custom_prices_status' ";
32 }
33
34 if ( false === strpos( $clausesJoinSQL, ' ' . self::WCML_PRICE_ALIAS . ' ' ) ) {
35 $clausesJoinSQL .= "\n LEFT JOIN {$this->wpdb->postmeta} AS " . self::WCML_PRICE_ALIAS . " ON ({$this->wpdb->posts}.ID = " . self::WCML_PRICE_ALIAS . ".post_id) and " . self::WCML_PRICE_ALIAS . ".meta_key = '_price' ";
36 }
37
38 if ( false === strpos( $clausesJoinSQL, ' ' . self::WCML_MC_PRICE_ALIAS . ' ' ) ) {
39 $clausesJoinSQL .= "\n LEFT JOIN {$this->wpdb->postmeta} AS " . self::WCML_MC_PRICE_ALIAS . " ON ({$this->wpdb->posts}.ID = " . self::WCML_MC_PRICE_ALIAS . ".post_id) and " . self::WCML_MC_PRICE_ALIAS . ".meta_key = '_price_{$this->client_currency}' ";
40 }
41
42 return $clausesJoinSQL;
43 }
44 }
45