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 / Templates / MyBookings.php
woocommerce-multilingual / compatibility / WcBookings / Templates Last commit date
MyBookings.php 4 weeks ago
MyBookings.php
48 lines
1 <?php
2
3 namespace WCML\Compatibility\WcBookings\Templates;
4
5 use WPML\Element\API\Languages;
6 use WPML\Element\API\Post;
7 use WPML\Element\API\PostTranslations;
8 use WPML\LIB\WP\Hooks;
9
10 use function WPML\FP\spreadArgs;
11
12 class MyBookings implements \IWPML_Action {
13
14 public function add_hooks() {
15 Hooks::onFilter( 'woocommerce_bookings_account_tables' )
16 ->then( spreadArgs( [ $this, 'filterByCurrentLanguage' ] ) );
17 }
18
19 public function filterByCurrentLanguage( $tables ) {
20
21 $currentLanguage = Languages::getCurrentCode();
22
23 foreach ( $tables as $section => $table ) {
24 if ( isset( $table['bookings'] ) ) {
25 foreach ( $table['bookings'] as $key => $booking ) {
26 $languageCode = Post::getLang( $booking->get_id() );
27
28 if ( $languageCode !== $currentLanguage ) {
29 unset( $tables[ $section ]['bookings'][ $key ] );
30
31 } elseif ( ! $booking->get_product() ) {
32 $originalBookingId = PostTranslations::getOriginalId( $booking->get_id() );
33 $originalBooking = get_wc_booking( $originalBookingId );
34 if ( $originalBooking ) {
35 $booking->set_product_id( $originalBooking->get_product_id() );
36 }
37 }
38 }
39 }
40
41 $tables[ $section ]['bookings'] = array_values( $tables[ $section ]['bookings'] );
42 }
43
44 return $tables;
45 }
46
47 }
48