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 / AdminDashboard / Hooks.php
woocommerce-multilingual / classes / AdminDashboard Last commit date
Hooks.php 4 weeks ago
Hooks.php
51 lines
1 <?php
2
3 namespace WCML\AdminDashboard;
4
5 use WPML\Core\ISitePress;
6 use WCML\StandAlone\NullSitePress;
7 use SitePress;
8 use wpdb;
9 use IWPML_DIC_Action;
10 use IWPML_Backend_Action;
11
12 class Hooks implements IWPML_Backend_Action, IWPML_DIC_Action {
13
14 private $sitepress;
15
16 private $wpdb;
17
18 public function __construct( ISitePress $sitepress, wpdb $wpdb ) {
19 $this->sitepress = $sitepress;
20 $this->wpdb = $wpdb;
21 }
22
23 public function add_hooks() {
24 add_action( 'wp_dashboard_setup', [ $this, 'clearStockTransients' ] );
25 add_filter( 'woocommerce_status_widget_low_in_stock_count_query', [ $this, 'addLanguageQuery' ] );
26 add_filter( 'woocommerce_status_widget_out_of_stock_count_query', [ $this, 'addLanguageQuery' ] );
27 }
28
29 public function clearStockTransients() {
30 delete_transient( 'wc_outofstock_count' );
31 delete_transient( 'wc_low_stock_count' );
32 }
33
34 public function addLanguageQuery( $query ) {
35
36 $currentLanguage = $this->sitepress->get_current_language();
37
38 if ( $currentLanguage !== 'all' ) {
39 $languageQuery = $this->wpdb->prepare(
40 " INNER JOIN {$this->wpdb->prefix}icl_translations AS t
41 ON posts.ID = t.element_id AND t.element_type IN ( 'post_product', 'post_product_variation' )
42 WHERE t.language_code = %s AND ",
43 $currentLanguage );
44
45 return str_replace( 'WHERE', $languageQuery, $query );
46 }
47
48 return $query;
49 }
50 }
51