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 / Synchronization / Component / DownloadableFiles.php
woocommerce-multilingual / classes / Synchronization / Component Last commit date
Attachments.php 1 week ago Attributes.php 1 week ago DownloadableFiles.php 1 week ago Linked.php 1 week ago Meta.php 1 week ago Post.php 1 week ago Stock.php 1 week ago Synchronizer.php 1 week ago SynchronizerForMeta.php 1 week ago Taxonomies.php 1 week ago VariationAttachments.php 1 week ago VariationMeta.php 1 week ago VariationTaxonomies.php 1 week ago Variations.php 1 week ago
DownloadableFiles.php
45 lines
1 <?php
2
3 namespace WCML\Synchronization\Component;
4
5 use WCML_Downloadable_Products;
6
7 class DownloadableFiles extends SynchronizerForMeta {
8
9 public function run( $product, $translationsIds, $translationsLanguages ) {
10 $settingsFactory = wpml_load_core_tm()->settings_factory();
11 $postmetaFieldSetting = $settingsFactory->post_meta_setting( '_downloadable_files' );
12 $postmetaFieldStatus = $postmetaFieldSetting->status();
13 if ( WPML_IGNORE_CUSTOM_FIELD === $postmetaFieldStatus ) {
14 return;
15 }
16
17 $this->syncFiles( $product->ID, $translationsIds );
18 }
19
20 public function syncFiles( $productId, $translationsIds ) {
21 $generalProductSync = $this->woocommerceWpml->settings[ WCML_Downloadable_Products::SYNC_MODE_SETTING_KEY ];
22 $customProductSync = get_post_meta( $productId, WCML_Downloadable_Products::SYNC_MODE_META, true );
23
24 if ( $this->isSyncOn( $generalProductSync, $customProductSync ) ) {
25 $this->synchronizeMeta( $productId, $translationsIds, WCML_Downloadable_Products::DOWNLOADABLE_FILES_META );
26 }
27 }
28
29 private function isSyncOn( $generalProductSync, $customProductSync ): bool {
30 if ( WCML_Downloadable_Products::SYNC_MODE_META_AUTO === $customProductSync ) {
31 return true;
32 }
33
34 if ( WCML_Downloadable_Products::SYNC_MODE_META_SELF === $customProductSync ) {
35 return false;
36 }
37
38 if ( WCML_Downloadable_Products::SYNC_MODE_SETTING_AUTO === $generalProductSync ) {
39 return true;
40 }
41
42 return false;
43 }
44 }
45