WPML
Статус
Решено
Заявлено для
WPML Multilingual CMS 4.4.12
Решено в
4.5.0

Обзор проблемы

Если Вы используете виджеты WordPress, Вы увидите, что некоторые из них могут не отображаться переведенными во фронтенде. Это происходит с виджетами типа «блок», переведенными на языки с кодом локали, содержащим дефис, таким как es-es, pt-pt и т. д.

Обходное решение

Наши разработчики уже знают об этой ситуации и работают над решением. Тем временем Вы можете:


  1. Сделать полную резервную копию Вашего сайта перед тем, как продолжить.

  2. Открыть /wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/page-builders-gutenberg/src/Widgets/Block/Strings.php

  3. И после строки 28:
    		$langCode = Languages::localeToCode( $locale );


  4. Добавить этот код:
    		if (strpos($locale, '_') !== false && $langCode === false ){
    			$langCode = strtolower(str_replace('_', '-', $locale));
    		}

Все известные проблемы →