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 / Stock.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
Stock.php
42 lines
1 <?php
2
3 namespace WCML\Synchronization\Component;
4
5 class Stock extends SynchronizerForMeta {
6
7 const STOCK_META_KEY = '_stock';
8 const STOCK_STATUS_META_KEY = '_stock_status';
9
10 public function run( $product, $translationsIds, $translationsLanguages ) {
11 $productObject = wc_get_product( $product->ID );
12 $productIdManagingStock = $productObject->get_stock_managed_by_id();
13
14 $translationsManagingStock = $translationsIds;
15 if ( $productIdManagingStock !== $product->ID ) {
16 $translationsManagingStock = $this->elementTranslations->get_element_translations( $productIdManagingStock, false, false );
17 }
18
19 $this->synchronizeMeta( $productIdManagingStock, $translationsManagingStock, self::STOCK_META_KEY );
20 $this->synchronizeMeta( $product->ID, $translationsIds, self::STOCK_STATUS_META_KEY );
21
22 if ( $productIdManagingStock !== $product->ID ) {
23 $this->deleteCache( $productIdManagingStock );
24 foreach ( $translationsManagingStock as $translationManagingStock ) {
25 $this->deleteCache( $translationManagingStock );
26 }
27 }
28
29 delete_transient( 'wc_low_stock_count' );
30 delete_transient( 'wc_outofstock_count' );
31 }
32
33 private function deleteCache( $productId ) {
34 wp_cache_delete( $productId, 'post_meta' );
35 wp_cache_delete( 'product-' . $productId, 'products' );
36 delete_transient( 'wc_product_children_' . $productId );
37 $wcml_data_store = wcml_product_data_store_cpt();
38 $wcml_data_store->update_lookup_table_data( $productId );
39 }
40
41 }
42