- Статус
- Решено автором
- Связанный плагин/тема
- Germanized for WooCommerce
- Теги темы
- Compatibility, WCML
Обзор проблемы
В конфигурациях с Germanized for WooCommerce и WPML возникает проблема, из-за которой способы доставки, использующие условия классов доставки, недоступны для переведенных товаров.
Обходное решение
Перед продолжением убедитесь, что у Вас есть полная резервная копия сайта.
- Откройте файл …/wp-content/plugins/woocommerce-germanized/packages/woocommerce-germanized-shipments/src/ShippingMethod/ShippingMethod.php.
- Найдите строку 957.
- Замените:
$classes = isset( $condition['classes'] ) && ! empty( $condition['classes'] ) ? array_map( 'absint', (array) $condition['classes'] ) : array();
- На:
$classes = isset( $condition['classes'] ) && ! empty( $condition['classes'] ) ? array_map( 'absint', (array) $condition['classes'] ) : array(); // compsupp-7583 workaround // Assuming $classes is an array of category IDs. $classes = array_map(function($class_id) { // Translate each ID using WPML return apply_filters('wpml_object_id', $class_id, 'category'); }, $classes);