- 状态
- 已解决
- 解决于
- WPML Multilingual & Multicurrency for WooCommerce 5.5.3
- 主题标签
- WCML
问题概述
发送产品进行翻译时,它们在某些情况下可能会卡住。
这种情况的一个主要症状是 debug.log 中出现 PHP Warning:
>PHP Warning Undefined array key “values” in /var/www/sites/red-harmonica/wp-content/plugins/woocommerce-multilingual/inc/class-wcml-tp-support.php on line 158
当产品的属性值完全由特殊字符(例如“+ & -”)组成,即不包含任何字母时,就会出现此问题。
临时解决方法
此问题将在 WCML 5.5.3 中修复,但在此期间,您可以直接编辑插件文件 wp-content/plugins/woocommerce-multilingual/inc/class-wcml-tp-support.php。
找到此行(当前版本中的第 158 行):
$product_attributes[ $attribute_key ]['value'] = join( ' | ', $attribute['values'] );
并将其替换为
$product_attributes[ $attribute_key ]['value'] = isset( $attribute['values'] ) ? join( ' | ', $attribute['values'] ) : $product_attributes[ $attribute_key ]['value'];