PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / trunk
WPML Multilingual & Multicurrency for WooCommerce vtrunk
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 1 month 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