WPML
Estado
Resuelto por el autor
Plugin/tema relacionado
Germanized for WooCommerce
Etiquetas de temática
Compatibility, WCML

Resumen del problema

En las configuraciones con Germanized for WooCommerce y WPML, hay un problema por el cual los métodos de envío que utilizan condiciones de Clases de envío no están disponibles para los productos traducidos.

Solución alternativa

Asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


  • Abra el archivo …/wp-content/plugins/woocommerce-germanized/packages/woocommerce-germanized-shipments/src/ShippingMethod/ShippingMethod.php.

  • Busque la línea 957.

  • Reemplace:
    					$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 los problemas conocidos →