- Статус
- Ожидается ответ автора
- Связанный плагин/тема
- Soho Hotel
Обзор проблемы
При использовании темы оформления Soho Hotel с WPML сезонная цена, примененная к объекту размещения на языке по умолчанию, не копируется в переведенный объект размещения.
Обходное решение
В качестве обходного решения для исправления этой проблемы выполните следующие действия:
- Перейдите в WPML → Настройки → Перевод пользовательских полей и задайте для произвольного поля shb_pricing значение Копировать.
- Добавьте этот фрагмент кода в файл functions.php темы оформления:
add_action( 'wpml_after_copy_custom_field', function($post_id_from, $post_id_to, $meta_key){ if ($meta_key == 'shb_pricing') { $translated_lang = apply_filters( 'wpml_post_language_details', '', $post_id_to ); $translated_lang = isset($translated_lang['language_code']) ? $translated_lang['language_code'] : ''; $original_value = get_post_meta($post_id_from, 'shb_pricing', true); $translated_value = $original_value; if (!empty($original_value) && is_array($original_value)) { foreach ($original_value as $key => $value) { $session_id = intval(substr($key, 7)); if ( !empty($session_id) ) { $session_id = apply_filters( 'wpml_object_id', $session_id, 'shb_season', false, $translated_lang ); $translated_value['season_' . $session_id] = $translated_value[$key]; unset($translated_value[$key]); } } update_post_meta($post_id_to, 'shb_pricing', $translated_value); } } }, 10, 3); - Обновите оригинальный элемент Accommodation и его перевод.
Дальнейшие действия
Разработчику темы Soho Hotel потребуется решить эту проблему на своей стороне, так как она связана с кодом темы оформления. Мы связывались с ним несколько раз, но пока не дождались содействия от разработчика темы.
Если Вы столкнулись с этой проблемой и хотите призвать разработчика решить её, обратитесь к нему на закрытом форуме поддержки.