WPML

Tổng quan về sự cố

Trong giao diện WPRentals, khi người dùng chuyển đổi ngôn ngữ trên trang web của họ, hóa đơn có thể không được hiển thị chính xác trên tất cả ngôn ngữ.

Giải pháp tạm thời

Sự cố này đã được khắc phục. Việc cập nhật lên phiên bản mới nhất giải quyết vấn đề này trên trang web của bạn, vì vậy bạn chỉ cần giải pháp tạm thời này nếu chưa thể cập nhật.

Vui lòng đảm bảo sao lưu toàn bộ trang web của bạn trước khi tiếp tục.

  • Mở tệp …/wp-content/themes/wprentals/user_dashboard_invoices.php.
  • Tìm dòng 48.
  • Thay thế:
    <?php
        $args = array(
            'post_type' => 'wpestate_invoice',
            'post_status'      => 'publish',
            'posts_per_page'   => -1 ,
            'author'           => $userID,
            'meta_query'       => array(
                    array(
                        'key'       => 'invoice_type',
                        'value'     =>  esc_html__( 'Reservation fee','wprentals'),
                        'type'      =>  'char',
                        'compare'   =>  'LIKE'
                        )
            ),
        );
    
    
    
        $prop_selection = new WP_Query($args);
  • Bằng:
    <?php
        /*
        * >> WPML Workaround for compsupp-7254
        */
    
        // Original meta query
        $meta_query_value = esc_html__( 'Reservation fee','wprentals');
        $meta_query_compare = 'LIKE';
    
        // Modify meta_query if WPML is enabled
        if ( class_exists ('Sitepress') ) {
    
            $meta_query_value = [];
            $meta_query_value[] = esc_html__( 'Reservation fee','wprentals');
    
            $wpml_current_language = apply_filters( 'wpml_current_language', NULL );
            $wpml_languages = apply_filters( 'wpml_active_languages', NULL, 'orderby=id&order=desc' );
    
            if ( ! empty( $wpml_languages ) ) {
    
                foreach( $wpml_languages as $language ) {
                    // wpml_translate_single_string filter is not working because this string does not have a registered name
                    // Because of that, we will need to switch languages (then restore it later)
                    do_action( 'wpml_switch_language', $language['language_code'] );
                    $translated_string = esc_html__( 'Reservation fee','wprentals');
    
                    if ( ! in_array($translated_string, $meta_query_value) ) {
                        $meta_query_value[] = $translated_string;
                    }  
                }
    
                // Restore original language
                do_action( 'wpml_switch_language', $wpml_current_language );
            }
    
            $meta_query_compare = 'IN';
        }
    
        $args = array(
            'post_type'        => 'wpestate_invoice',
            'post_status'      => 'publish',
            'posts_per_page'   => -1 ,
            'author'           => $userID,
            'meta_query'       => array(
                array(
                    'key'       => 'invoice_type',
                    'value'     =>  $meta_query_value,
                    'type'      =>  'char',
                    'compare'   =>  $meta_query_compare,
                )
            ),
        );
    
        $prop_selection = new WP_Query($args);

Tất cả lỗi đã ghi nhận

Vẫn gặp sự cố này?

Nếu việc cập nhật không khắc phục được, hãy đặt một câu hỏi hỗ trợ và chúng tôi sẽ cùng bạn xem xét.