Vai al contenuto Vai alla barra laterale

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.

Sun Mon Tue Wed Thu Fri Sat
- 11:00 – 15:00 11:00 – 15:00 11:00 – 15:00 11:00 – 15:00 11:00 – 15:00 -
- 16:00 – 20:00 16:00 – 20:00 16:00 – 20:00 16:00 – 20:00 16:00 – 20:00 -

Fuso orario del supporto: Europe/Rome (GMT+02:00)

Etichettato: 

Questo ticket contiene 10 risposte, ha 2 voices.

Ultimo aggiornamento da Laura 1 anno, 2 mese fa.

Assistito da: Laura.

Autore Post
Maggio 31, 2024 alle 7:59 am #15690815

gianniB-2

Contesto del problema:
Sto cercando di ordinare i prodotti nella lingua principale, ma l'ordinamento non si sincronizza con le altre lingue.

Sintomi:
Quando provo ad ordinare i prodotti nella lingua principale, tale ordinamento non si sincronizza con le altre lingue.

Domande:
Come posso fare affinché l'ordinamento dei prodotti nella lingua principale si sincronizzi con le altre lingue?

Maggio 31, 2024 alle 8:10 am #15691016

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+02:00)

Salve,

grazie per averci contattato. Cosa vuol dire "sto cercando di ordinare i prodotti"?

Di default i prodotti di WooCommerce vengono mostrati in base all'ID e poi si possono ordinare per prezzo, ordine alfabetico ecc con i filtri.

Maggio 31, 2024 alle 8:21 am #15691030

gianniB-2

Tramite backend è possibile ordinare i prodotti di Woocommerce anche con un ordinamento deciso a priori. Andando sulla lista dei prodotti (o filtrandoli per categoria) compare in alto un pulsante "Ordina" che permette l'ordinamento (vedi screenshot). Ecco, questo ordinamento non viene sincronizzato tra le lingue, obbligandomi a ripetere la stessa procedura di ordinamento per ogni lingua.

Screenshot 2024-05-31 alle 10.21.12.png
Maggio 31, 2024 alle 8:30 am #15691150

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+02:00)

1. Aggiorna WPML in Plugin > Aggiungi nuovo > Commerciale
2. Aumenta il WP Memory Limit e riprova a salvare l'ordine

Maggio 31, 2024 alle 8:57 am #15691259

gianniB-2

Ho aggiornato i plugin all'ultima versione e aumentato il memori limit a 1024M (limite massimo disponibile dal server), ma il problema persiste

Maggio 31, 2024 alle 1:53 pm #15692888

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+02:00)

Ho riprodotto il problema e l'ho inviato al secondo livello, vediamo cosa rispondono.

Giugno 18, 2024 alle 1:50 pm #15749349

gianniB-2

Ciao,
ci sono novità in merito al problema segnalato?

Giugno 19, 2024 alle 8:18 am #15753895

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+02:00)

Puoi provare ad aggiungere questo codice al file functions.php del tema

add_action('woocommerce_after_product_ordering', 'sort_wpml', 10, 2);
function sort_wpml($id, $ordering) {
	global $wpdb;
		$post_type = get_post_type($id);
		$trid = apply_filters( 'wpml_element_trid', NULL, $id, 'post_' . $post_type );
		$translations = apply_filters( 'wpml_get_element_translations', NULL, $trid, 'post_' . $post_type );
		$prepared_statement = $wpdb->prepare( "SELECT `menu_order` FROM $wpdb->posts WHERE  ID = %d", $id );
		$order = $wpdb->get_col( $prepared_statement );
		foreach ($translations as $lang => $translation){
			if ($translation->original == 0) {
				$wpdb->update( $wpdb->posts, array( 'menu_order' => $order[0] ), array( 'ID' => $translation->element_id ) );
				clean_post_cache( $translation->element_id );
			}
		}
}

Nota che questo non aggiorna gli originali, quindi se modifichi l'ordine dei post tradotti, gli originali rimangono com'erano.

Prossimamente cercheremo di introdurre questa modifica direttamente in WCML.

Giugno 24, 2024 alle 2:10 pm #15808061

gianniB-2

Ciao,
ho inserito il codice e ora, ordinando i prodotti in Inglese, questi si sincronizzano con l'Italiano e il Tedesco. La cosa strana è che il Francese invece non si sincronizza.
Cosa può essere?

Giugno 25, 2024 alle 7:28 am #15817356

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+02:00)

Mi dai le credenziali del sito?

Luglio 2, 2024 alle 10:08 am #15874280

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+02:00)

Questo però è un sito in produzione, non posso mettermi a fare dei test qui.

Ho provato a riprodurre il problema ma funziona tutto correttamente. Hai modificato i prodotti nella lingua di default? Altrimenti non funziona.

L'argomento '[Chiuso] Sincronizzazione ordine prodotti tra lingue' è chiuso a nuove risposte.