- Статус
- Решено
- Заявлено для
- WPML Multilingual CMS 4.4.12
- Решено в
- 4.5.0
Обзор проблемы
Если Вы используете виджеты WordPress, Вы увидите, что некоторые из них могут не отображаться переведенными во фронтенде. Это происходит с виджетами типа «блок», переведенными на языки с кодом локали, содержащим дефис, таким как es-es, pt-pt и т. д.
Обходное решение
Наши разработчики уже знают об этой ситуации и работают над решением. Тем временем Вы можете:
- Сделать полную резервную копию Вашего сайта перед тем, как продолжить.
- Открыть /wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/page-builders-gutenberg/src/Widgets/Block/Strings.php
- И после строки 28:
$langCode = Languages::localeToCode( $locale );
- Добавить этот код:
if (strpos($locale, '_') !== false && $langCode === false ){ $langCode = strtolower(str_replace('_', '-', $locale)); }