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 / compatibility / WcBookings / Slots.php
woocommerce-multilingual / compatibility / WcBookings Last commit date
Templates 2 weeks ago TranslationEditor 2 weeks ago Calendar.php 1 year ago Emails.php 2 weeks ago Factory.php 2 weeks ago MulticurrencyHooks.php 2 weeks ago Prices.php 2 weeks ago SharedHooks.php 2 weeks ago Slots.php 2 weeks ago class-wcml-accommodation-bookings.php 2 weeks ago class-wcml-bookings.php 2 weeks ago
Slots.php
35 lines
1 <?php
2
3 namespace WCML\Compatibility\WcBookings;
4
5 use function WPML\FP\spreadArgs;
6 use WPML\FP\Obj;
7 use WPML\LIB\WP\Hooks;
8
9 class Slots implements \IWPML_Action {
10
11 public function add_hooks() {
12 Hooks::onAction( 'woocommerce_after_product_object_save' )
13 ->then( spreadArgs( [ $this, 'deleteTranslationsSlotsTransients' ] ) );
14 }
15
16 public function deleteTranslationsSlotsTransients( $product ) {
17 if ( ! $product instanceof \WC_Product_Booking ) {
18 return;
19 }
20 $productId = (int) $product->get_id();
21 $type = apply_filters( 'wpml_element_type', get_post_type( $productId ) );
22 $trid = apply_filters( 'wpml_element_trid', false, $productId, $type );
23 $translations = apply_filters( 'wpml_get_element_translations', [], $trid, $type );
24
25 wpml_collect( $translations )
26 ->filter( function( $translation ) use ( $productId ) {
27 return (int) Obj::prop( 'element_id', $translation ) !== $productId;
28 } )
29 ->map( function( $translation ) {
30 \WC_Bookings_Cache::delete_booking_slots_transient( $translation->element_id );
31 } );
32 }
33
34 }
35