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 / inc / template-classes / class-wcml-sync-taxonomy.php
woocommerce-multilingual / inc / template-classes Last commit date
currency-switcher 4 weeks ago multi-currency 4 weeks ago setup 4 weeks ago status 4 weeks ago store-urls 4 weeks ago class-wcml-currencies-dropdown-ui.php 5 years ago class-wcml-custom-files-ui.php 4 weeks ago class-wcml-languages-upgrade-notice.php 4 years ago class-wcml-menus-wrap-base.php 4 weeks ago class-wcml-menus-wrap.php 4 weeks ago class-wcml-multilingual-ui.php 9 months ago class-wcml-not-translatable-attributes.php 4 weeks ago class-wcml-pointer-ui.php 1 year ago class-wcml-removed-cart-items-ui.php 4 weeks ago class-wcml-settings-ui.php 4 weeks ago class-wcml-st-taxonomy-ui.php 11 months ago class-wcml-sync-taxonomy.php 4 weeks ago class-wcml-templates-factory.php 4 weeks ago class-wcml-troubleshooting-ui.php 4 weeks ago
class-wcml-sync-taxonomy.php
68 lines
1 <?php
2
3 use WCML\Utilities\WCTaxonomies;
4
5 class WCML_Sync_Taxonomy extends WCML_Templates_Factory {
6
7 private $woocommerce_wpml;
8 private $taxonomy;
9 private $taxonomy_obj;
10
11 public function __construct( $woocommerce_wpml, $taxonomy, $taxonomy_obj ) {
12 parent::__construct();
13
14 $this->woocommerce_wpml = $woocommerce_wpml;
15 $this->taxonomy = $taxonomy;
16 $this->taxonomy_obj = $taxonomy_obj;
17 }
18
19 public function get_model() {
20
21 $wcml_settings = $this->woocommerce_wpml->get_settings();
22 $attribute_taxonomies = wc_get_attribute_taxonomies();
23 foreach ( $attribute_taxonomies as $a ) {
24 $attribute_taxonomies_arr[] = WCTaxonomies::TAXONOMY_PREFIX_ATTRIBUTE . $a->attribute_name;
25 }
26
27 $model = [
28 'taxonomy' => $this->taxonomy,
29 'attribute_taxonomies' => isset( $attribute_taxonomies_arr ) && in_array( $this->taxonomy, $attribute_taxonomies_arr ),
30 'display_attr' => isset( $wcml_settings['sync_variations'] ) && $wcml_settings['sync_variations'] ? '' : 'display: none',
31 'display_tax' => ( isset( $wcml_settings[ 'sync_' . $this->taxonomy ] ) && $wcml_settings[ 'sync_' . $this->taxonomy ] ) ? '' : 'display: none',
32 'loader_url' => \WCML\functions\assetLink( '/res/img/ajax-loader.gif' ),
33 'vars_to_create' => $wcml_settings['variations_needed'][ $this->taxonomy ] ?? false,
34 'tax_name' => $this->taxonomy_obj->labels->name,
35 'tax_singular_name' => '<i>' . $this->taxonomy_obj->labels->singular_name . '</i>',
36 'strings' => [
37 'sync_update' => __( 'Synchronize attributes and update product variations', 'woocommerce-multilingual' ),
38 'auto_generate' => __( 'This will automatically generate variations for translated products corresponding to recently translated attributes.', 'woocommerce-multilingual' ),
39 /* translators: %s is a number of product variations */
40 'vars_to_create' => __( 'Currently, there are %s variations that need to be created.', 'woocommerce-multilingual' ),
41 /* translators: %s is a taxonomy name */
42 'sync_in_cont' => __( 'Synchronize %s assignment in content', 'woocommerce-multilingual' ),
43 /* translators: %s is a taxonomy name */
44 'auto_apply' => __( 'This action lets you automatically apply the %s taxonomy to your content in different languages. It will scan the original content and apply the same taxonomy to translated content.', 'woocommerce-multilingual' ),
45 'untranslated_warn' => __( 'You have untranslated terms!', 'woocommerce-multilingual' ),
46 ],
47 'nonces' => [
48 'sync_product_variations' => wp_nonce_field( 'wcml_sync_product_variations', 'wcml_nonce', $referrer = false, $echo = false ),
49 'sync_taxonomies' => wp_nonce_field( 'wcml_sync_taxonomies_in_content_preview', 'wcml_sync_taxonomies_in_content_preview_nonce', $referrer = false, $echo = false ),
50 ],
51 ];
52
53 return $model;
54
55 }
56
57 protected function init_template_base_dir() {
58 $this->template_paths = [
59 WCML_PLUGIN_PATH . '/templates/',
60 ];
61 }
62
63 public function get_template() {
64 return 'sync-taxonomy.twig';
65 }
66
67 }
68