[Risolto] Problema visualizzazione filtri tradotti
Questo thread è stato risolto. Ecco una descrizione del problema e della soluzione.
Problema: Se stai riscontrando un problema con i filtri WooCommerce che mostrano attributi in inglese nonostante siano stati tradotti tramite il pannello di traduzione di WPML, il problema potrebbe essere legato alla cache interna di WooCommerce. Questa cache salva la gerarchia delle categorie prodotto e potrebbe non aggiornarsi correttamente quando si cambia lingua. Soluzione: Per verificare e risolvere temporaneamente il problema, ti consigliamo di aggiungere il seguente codice nel file
functions.php
del tema attivo o in un plugin custom/snippets:
/**
* Diagnostic only: force WooCommerce Product Filters to rebuild the
* product_cat hierarchy instead of reading its shared cached option.
*/
add_filter(
'pre_option_wc_taxonomy_hierarchy_product_cat',
function ( $pre_option ) {
return array();
}
);
add_filter(
'pre_update_option_wc_taxonomy_hierarchy_product_cat',
function ( $value, $old_value ) {
return $old_value;
},
10,
2
);
Questo snippet forza il sistema di filtraggio di WooCommerce a ricostruire la gerarchia delle categorie prodotto invece di leggere l'opzione di cache condivisa. Mantieni attivo questo snippet temporaneamente fino a quando non verrà rilasciata una soluzione permanente.
Se la soluzione proposta non risolve il problema o se sembra non essere più rilevante, ti consigliamo di verificare le questioni note, controllare la versione della correzione permanente e assicurarti di avere installato le ultime versioni dei temi e dei plugin. In caso di ulteriori difficoltà, non esitare a aprire un nuovo ticket di supporto.
Questo è il forum di assistenza tecnica di WPML, il plug-in multilingue di WordPress.
La sua lettura è permessa a tutti, ma la pubblicazione è riservata esclusivamente ai clienti di WPML. Il team di WPML risponde sul forum 6 giorni su 7, 22 ore su 24.
Lingue: Inglese (English )Spagnolo (Español )Italiano (Italiano )
Fuso orario: Europe/Madrid (GMT+02:00)
Ciao!
Ho ricontattato nuovamente il team di compatibilità per verificare se ci sono aggiornamenti sul problema.
È davvero molto strano che tutto funzioni correttamente solo con il debug log attivato, quindi sto cercando di approfondire ulteriormente con loro per capire cosa possa causare questo comportamento.
Ti aggiornerò non appena avrò novità. Grazie ancora per la pazienza!
grazie per il supporto, come detto in precedenza abbiamo bisogno che venga risolto il prima possibile dato che dobbiamo consegnare il sito al cliente. Rimango in attesa di aggiornamenti, grazie ancora!
Lingue: Inglese (English )Spagnolo (Español )Italiano (Italiano )
Fuso orario: Europe/Madrid (GMT+02:00)
Gli errori presenti nel debug.log relativi a _load_textdomain_just_in_time() provengono dai file del tema (sia parent che child theme). Questo spiega anche perché la disattivazione di tutti i plugin non ha risolto il problema.
Il problema sembra essere legato al modo in cui il textdomain viene registrato nel codice personalizzato.
Potresti quindi verificare la registrazione del domain utilizzato nel tuo codice custom e provare ad applicare la soluzione descritta?
abbiamo verificato il textdomain seguendo i consigli presenti nel link ma attualmente la problematica non sembra essersi risolta.
Stiamo effettuando ulteriori verifiche per capire se effettivamente non è cambiato nulla rispetto a prima o se andando a risincronizzare le categorie succede qualcosa di positivo.
abbiamo effettuato una nuova importazione dei prodotti e delle categorie ripartendo da 0 sotto quell'aspetto. Attualmente ci sono lo stesso numero di categorie per lingua e i prodotti sono tutti associati correttamente, ma continua a non vedersi la sezione "categorie" in una lingua mentre nell'altra sì. Controllando nella console non risultano errori.
Lingue: Inglese (English )Spagnolo (Español )Italiano (Italiano )
Fuso orario: Europe/Madrid (GMT+02:00)
Ciao!
Il nostro team di compatibilità ha individuato una possibile causa del problema.
Sembra che il problema sia legato alla cache interna che WooCommerce utilizza per salvare la gerarchia delle categorie prodotto. Abbiamo notato che quando WP_DEBUG è attivo, WooCommerce non utilizza questa cache e infatti il problema non si presenta.
Per confermare che questa sia effettivamente la causa, potresti aggiungere temporaneamente il seguente codice nel file functions.php del tema attivo (o meglio ancora in un plugin custom/snippets):
/**
* Diagnostic only: force WooCommerce Product Filters to rebuild the
* product_cat hierarchy instead of reading its shared cached option.
*/
add_filter(
'pre_option_wc_taxonomy_hierarchy_product_cat',
function ( $pre_option ) {
return array();
}
);
add_filter(
'pre_update_option_wc_taxonomy_hierarchy_product_cat',
function ( $value, $old_value ) {
return $old_value;
},
10,
2
);
ho aggiunto il codice e confermo che in questo modo, anche col debug disattivato, i filtri "categorie" vengono mostrati correttamente sia in italiano che in inglese.
Segnalo giusto che permane l'errore nella schermata di widget in inglese, dove dovrebbe esserci la categoria "This block has encountered an error and cannot be previewed.", ma confermo che a frontend ora viene visualizzato.
Lingue: Inglese (English )Spagnolo (Español )Italiano (Italiano )
Fuso orario: Europe/Madrid (GMT+02:00)
Grazie mille per aver confermato che la soluzione funziona!
Ho già informato il nostro team di compatibilità e il problema verrà escalato così da poter lavorare a una soluzione permanente direttamente nel plugin, evitando in futuro la necessità di aggiungere questa funzione manualmente.
Per il momento, però, sarà necessario mantenere temporaneamente questo snippet attivo sul sito.