WPML
Статус
Решено автором
Связанный плагин/тема
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);

Все известные проблемы →