WPML
状态
已由作者解决
相关插件/主题
Uncode
主题标签
Compatibility

问题概述

Uncode 主题 中,使用 Posts (uncode_index) 简码时,发现了两个问题:

  • 意外的 base64 编码内容被发送到我们的高级翻译编辑器
  • 无法翻译 Posts 简码中的“Read More”文本。

临时解决方法

在继续操作之前,请确保对您的站点进行完整备份

您需要应用 2 个修复:

第一部分

  • 前往 WPML > 配置 > 自定义 XML 配置页面。
  • 添加以下 XML:
    <wpml-config>
      <shortcodes>
        <shortcode>
          <tag>uncode_index</tag>
        </shortcode>
      </shortcodes>
    </wpml-config>

第二部分

  • 打开 …/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);
    	}
    }

所有已知问题 →