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 / WcExporter / class-wcml-wcexporter.php
woocommerce-multilingual / compatibility / WcExporter Last commit date
Factory.php 1 month ago class-wcml-wcexporter.php 1 month ago
class-wcml-wcexporter.php
77 lines
1 <?php
2
3 class WCML_wcExporter implements \IWPML_Action {
4
5 private $sitepress;
6 private $woocommerce_wpml;
7
8 public function __construct( SitePress $sitepress, woocommerce_wpml $woocommerce_wpml ) {
9 $this->sitepress = $sitepress;
10 $this->woocommerce_wpml = $woocommerce_wpml;
11 }
12
13 public function add_hooks() {
14
15 add_filter( 'woo_ce_product_fields', [ $this, 'woo_ce_fields' ] );
16 add_filter( 'woo_ce_category_fields', [ $this, 'woo_ce_fields' ] );
17 add_filter( 'woo_ce_tag_fields', [ $this, 'woo_ce_fields' ] );
18 add_filter( 'woo_ce_order_fields', [ $this, 'woo_ce_order_fields' ] );
19 add_filter( 'woo_ce_product_item', [ $this, 'woo_ce_product_item' ], 10, 2 );
20 add_filter( 'woo_ce_category_item', [ $this, 'woo_ce_category_item' ], 10 );
21 add_filter( 'woo_ce_tags', [ $this, 'woo_ce_tags' ], 10 );
22
23 }
24
25 public function woo_ce_fields( $fields ) {
26 $fields[] = [
27 'name' => 'language',
28 'label' => __( 'Language', 'woo_ce' ),
29 'default' => 1
30 ];
31 $fields[] = [
32 'name' => 'translation_of',
33 'label' => __( 'Translation of', 'woo_ce' ),
34 'default' => 1
35 ];
36
37 return $fields;
38 }
39
40 public function woo_ce_order_fields( $fields ) {
41 $fields[] = [
42 'name' => 'language',
43 'label' => __( 'Language', 'woo_ce' ),
44 'default' => 1
45 ];
46
47 return $fields;
48 }
49
50 public function woo_ce_product_item( $data, $product_id ) {
51
52 $data->language = $this->sitepress->get_language_for_element( $product_id, 'post_' . get_post_type( $product_id ) );
53 $data->translation_of = $this->woocommerce_wpml->products->get_original_product_id( $product_id );
54
55 return $data;
56 }
57
58 public function woo_ce_category_item( $data ) {
59
60 $data->language = $this->sitepress->get_language_for_element( $data->term_taxonomy_id, 'tax_product_cat' );
61 $data->translation_of = apply_filters( 'wpml_object_id', $data->term_taxonomy_id, 'tax_product_cat', true, $this->sitepress->get_default_language() );
62
63 return $data;
64 }
65
66 public function woo_ce_tags( $tags ) {
67
68 foreach ( $tags as $key => $tag ) {
69 $tags[ $key ]->language = $this->sitepress->get_language_for_element( $tag->term_taxonomy_id, 'tax_product_tag' );
70 $tags[ $key ]->translation_of = apply_filters( 'wpml_object_id', $tag->term_taxonomy_id, 'tax_product_tag', true, $this->sitepress->get_default_language() );
71 }
72
73 return $tags;
74 }
75
76 }
77