- Статус
- Решено
- Решено в
- WPML Multilingual & Multicurrency for WooCommerce 5.5.3
- Теги темы
- WCML
Обзор проблемы
При отправке товаров на перевод они при некоторых обстоятельствах могут зависнуть.
Ключевым симптомом в данном случае является предупреждение PHP в файле debug.log:
>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'];