- Status
- Resolvido pelo autor
- Plugin/tema relacionado
- Germanized for WooCommerce
- Tags de tópico
- Compatibility, WCML
Visão geral do problema
Em configurações com Germanized for WooCommerce e WPML, há um problema em que os métodos de entrega que utilizam condições de Classes de entrega não estão disponíveis para produtos traduzidos.
Solução alternativa
Por favor, certifique-se de ter um backup completo do site antes de prosseguir.
- Abra o arquivo …/wp-content/plugins/woocommerce-germanized/packages/woocommerce-germanized-shipments/src/ShippingMethod/ShippingMethod.php.
- Procure a linha 957.
- Substitua:
$classes = isset( $condition['classes'] ) && ! empty( $condition['classes'] ) ? array_map( 'absint', (array) $condition['classes'] ) : array();
- Por:
$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);