- ステータス
- 解決済み
- 解決されたバージョン
- WPML Multilingual & Multicurrency for WooCommerce 5.5.3
- トピックタグ
- WCML
問題の概要
商品を翻訳に送信する際、状況によっては処理が停止する場合があります。
この特定の問題の主な症状として、debug.logに以下のPHP警告が記録されます。
>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'];