Обзор проблемы
В теме оформления WPRentals theme, когда пользователи переключают язык на своем сайте, счета могут отображаться некорректно на всех языках.
Обходное решение
Эта проблема решена. Обновление до последней версии решает эту проблему на Вашем сайте, поэтому это обходное решение потребуется Вам только в том случае, если Вы пока не можете выполнить обновление.
Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия сайта.
- Откройте файл …/wp-content/themes/wprentals/user_dashboard_invoices.php.
- Найдите строку 48.
- Замените:
<?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); - На:
<?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);