WPML
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);

Todos os problemas conhecidos →