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 / Reports / Categories / Query.php
woocommerce-multilingual / classes / Reports / Categories Last commit date
Query.php 1 week ago
Query.php
52 lines
1 <?php
2
3 namespace WCML\Reports\Categories;
4
5 use WCML\Rest\Functions;
6
7 class Query implements \IWPML_REST_Action, \IWPML_Backend_Action {
8
9 var $actionWasRemoved = false;
10
11 public function add_hooks() {
12 if ( Functions::isAnalyticsRestRequest() ) {
13 add_filter( 'woocommerce_analytics_categories_select_query', [ $this, 'translateCategoryTitles' ] );
14 }
15
16 add_action( 'generate_category_lookup_table', [ $this, 'removeWpmlTermClausesFilter' ], 0 );
17 add_action( 'generate_category_lookup_table', [ $this, 'addWpmlTermClausesFilter' ], 20 );
18 }
19
20 public function translateCategoryTitles( $results ) {
21 $results->data = wpml_collect( $results->data )
22 ->map( function( $row ) {
23 if ( $row['extended_info']['name'] ) {
24 $row['category_id'] = apply_filters( 'wpml_object_id', $row['category_id'], 'product_cat', true );
25 $term = get_term( $row['category_id'] );
26 if ( $term ) {
27 $row['extended_info']['name'] = $term->name;
28 }
29 }
30 return $row;
31 } )->toArray();
32
33 return $results;
34 }
35
36 public function removeWpmlTermClausesFilter() {
37 global $sitepress;
38
39 $this->actionWasRemoved = remove_filter( 'terms_clauses', [ $sitepress, 'terms_clauses' ] );
40 }
41
42 public function addWpmlTermClausesFilter() {
43 global $sitepress;
44
45 if ( $this->actionWasRemoved ) {
46 $this->actionWasRemoved = false;
47 add_filter( 'terms_clauses', [ $sitepress, 'terms_clauses' ], 10, 3 );
48 }
49 }
50
51 }
52