WPML
Статус
Решено автором
Связанный плагин/тема
Uncode
Теги темы
Compatibility

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

В теме оформления Uncode при использовании шорткода Posts (uncode_index) были выявлены две проблемы:

  • Непредвиденный контент в кодировке base64 отправляется в наш Расширенный редактор переводов.
  • Невозможность перевести текст «Read More» внутри шорткода Posts.

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

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

Вам необходимо внести 2 исправления:

Часть I

  • Перейдите на страницу WPML > Настройки > Пользовательская конфигурация XML.
  • Добавьте следующий XML-код:
    <wpml-config>
      <shortcodes>
        <shortcode>
          <tag>uncode_index</tag>
        </shortcode>
      </shortcodes>
    </wpml-config>

Часть II

  • Откройте файл …/wp-content/themes/uncode/vc_templates/uncode_index.php.
  • Найдите строку 2558.
  • Замените:
    if (isset($item_prop['read_more_text'])) {
    	$block_data['read_more_text'] = $item_prop['read_more_text'];
    }
  • На:
    if (isset($item_prop['read_more_text'])) {
    	$block_data['read_more_text'] = $item_prop['read_more_text'];
    
    	// WPML Workaround for compsupp-7136
    	if ( class_exists('Sitepress') ) {
    		$string = $block_data['read_more_text'];
    		$textdomain = 'WordPress';
    		$string_name = 'WPML Workaround : '.substr($string, 0, 20);
    
    		$wpml_default_lang = apply_filters('wpml_default_language', NULL );
    		$wpml_current_lang = apply_filters( 'wpml_current_language', NULL );
    
    		if ($wpml_default_lang == $wpml_current_lang ) {
    			do_action( 'wpml_register_single_string', $textdomain, $string_name, $string );
    		}	
    		// Apply the translation to the string
    		$block_data['read_more_text'] = apply_filters('wpml_translate_single_string', $string , $textdomain, $string_name);
    	}
    }

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