Panoramica del problema
Nelle configurazioni con Germanized for WooCommerce e WPML, si verifica un problema per cui i metodi di spedizione che utilizzano le condizioni delle Classi di spedizione non sono disponibili per i prodotti tradotti.
Soluzione alternativa
Questo problema è stato risolto. L’aggiornamento all’ultima versione risolve il problema sul tuo sito, quindi hai bisogno di questa soluzione alternativa solo se non puoi ancora aggiornare.
Assicurati di avere un backup completo del tuo sito prima di procedere.
- Apri il file …/wp-content/plugins/woocommerce-germanized/packages/woocommerce-germanized-shipments/src/ShippingMethod/ShippingMethod.php.
- Cerca la riga 957.
- Sostituisci:
$classes = isset( $condition['classes'] ) && ! empty( $condition['classes'] ) ? array_map( 'absint', (array) $condition['classes'] ) : array();
- Con:
$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);