Salta la navigazione

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.

Nessun supporter è disponibile a lavorare oggi sul forum Italian. Sentitevi liberi di creare ticket e li gestiremo il prima possibile quando saremo online. Grazie per la comprensione.

Etichettato: 

Questo ticket contiene 19 risposte, ha 3 voci.

Ultimo aggiornamento da lorenzaR 1 anno, 4 mesi fa.

Assistito da: Alejandro.

Autore Messaggi
Luglio 7, 2023 a 8:22 am #13965813

Alejandro
Supporter

Lingue: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

Penso che sia tutto ok ora. per poter duplicare tutto ho fatto alcune cose:

1) Vai su WooCommerce Multilingual > Impostazioni > Risoluzione dei problemi (Link alla fine della pagina)
2) Qui troverai diverse opzioni. scegli quelle che hanno a che fare con le tassonomie:
- Duplica termini (seleziona l'attributo): (questa dovrebbe risolverti il problema)
- Sync removed product meta from original products to translations
- Sincronizza le varianti dei prodotti:

In questo ordine penso che riuscirai a risolvere 🙂

Ho fatto questo per i colori e ho visto diverse pagine e sembra che ora siano sincronizzati ma se ne vedi alcuni che non lo sono, basta editare la versione in lingua originale e salvare i cambiamenti (Anche se non hai fatto niente, basta premere il pulsante e via).

Saluti.

Luglio 10, 2023 a 8:11 pm #14009267

lorenzaR

Ciao, ho eseguito le operazioni che mi hai indicato. Ora gli attributi, compresi i colori, sono duplicati. Tuttavia le miniature dei colori in inglese non si vedono, ho capito che devo editare e salvare i termini dell'attributo colore ma parliamo di più di 3.000 attributi. Ho bisogno di un'automazione per fare questo, grazie.

Luglio 11, 2023 a 9:07 am #14012037

Alejandro
Supporter

Lingue: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

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

Ma con quale posso vedere questo problema? perché io ho visto che la maggioranza degli attributi che non avevano una immagine erano così anche nella lingua originale. infatti per quello ti avevo scritto perché in realtà ho visto parecchi che una volta duplicati si erano duplicati anche le immagini come "capo llama" (mi pare si chiamava così l'attributo). ai tempi che l'ho controllata si trovava tra le pagine 3 e 5 dei colori, nella lingua italiana e tra la 4 e 8 nella lingua tradotta e tutti questi colori avevano già la miniatura.

C'è una automazione e sarebbe questo codice:

    function synctermmeta() {
	    global $wpdb;
	    $term_meta = "image";
	    $taxonomy  = 'pa_colore';
	    $terms     = $wpdb->get_col(
		    $wpdb->prepare(
			    "SELECT `term_id` FROM {$wpdb->prefix}terms WHERE `term_id` IN ( SELECT `term_id` FROM {$wpdb->prefix}term_taxonomy WHERE `taxonomy` = %s )",
			    $taxonomy
		    )
	    );
	    foreach ( $terms as $term ) {
		    $trid         = apply_filters( 'wpml_element_trid', null, $term, 'tax_' . $taxonomy );
		    $translations = apply_filters( 'wpml_get_element_translations', null, $trid, 'tax_' . $taxonomy );
		    foreach ( $translations as $translation ) {
			    $element = $wpdb->get_col( $wpdb->prepare(
				    "SELECT `term_id` FROM {$wpdb->prefix}terms WHERE `term_id` IN ( SELECT `term_id` FROM {$wpdb->prefix}term_taxonomy WHERE `taxonomy` = %s AND term_taxonomy_id = %d)",
				    $taxonomy, $translation->element_id
			    )
			    );
			    if ( $translation->source_language_code == null ) {
				    $original_value = get_term_meta( $element[0], $term_meta, true );
				    continue;
			    }
			    if ( $original_value && $translation->source_language_code != null ) {
				    update_term_meta( $element[0], $term_meta, $original_value );
			    }
		    }
	    }
    }

add_action('wp_head','synctermmeta');

- $term_meta Deve avere il valore del attributo che desideri modificare. penso che in questo caso sia "image" visto che è quello che hai configurato inizialmente, ma per assicurarti di questo, ti conviene controllare il database, trovare l'ID di un attributo e cercare i dati di questo attributo nella tabella "XX_postmeta" (xx = prefisso della tua installazione) per assicurarti che sia il corretto.

- $taxonomy deve avere il valore della tassonomia "attributo" che in questo caso è "pa_colore"

Io ho sistemato il codice quindi dovrebbe andare bene così ma non sono 100% sicuro del campo "image" perché sospetto che il term field ha un nome diverso. puoi anche chiedere l'autore come si chiama nel database e sistemarlo.

Una volta avrai tutte le info, incolla il codice nel tuo file function.php (presente nel tema attivo del tuo sito) e poi apri una pagina nel front-end. una volta fatto questo tutto dovrebbe funzionare ma solo se il campo delle immagini è corretto.

-----------------

Ti informo che noi non possiamo creare codice personalizzato per te e questo codice è usato perché tu possa poi avere una idea di cosa si può fare (ed è già tanto visto che non siamo tenuti a creare "automazioni" di nessun tipo. non è supportato dal nostro supporto).

Di nuovo non sembra sia necessario nessun codice. Noi abbiamo fatto gli altri test che ti ho menzionato con l'attributo "colore" quindi se hai problemi con altri attributi puoi provare a fare quello che ti abbiamo detto, con gli altri attributi.

Saluti.

Luglio 12, 2023 a 8:03 am #14020347

lorenzaR

It works, thanks a lot.