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.

Sun Mon Tue Wed Thu Fri Sat
- 8:00 – 15:00 8:00 – 15:00 8:00 – 15:00 8:00 – 15:00 8:00 – 15:00 -
- 16:00 – 17:00 16:00 – 17:00 16:00 – 17:00 16:00 – 17:00 16:00 – 17:00 -

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

Etichettato: 

Questo ticket contiene 21 risposte, ha 2 voci.

Ultimo aggiornamento da Alejandro 1 anno, 5 mesi fa.

Assistito da: Alejandro.

Autore Messaggi
Novembre 5, 2022 a 11:09 am #12388769

cosimoA

Hello. I tried to translate some user custom fields that i created with toolset. I followed the guide at this page: https://wpml.org/documentation/getting-started-guide/string-translation/translating-user-meta-information-with-wpml/ but don't work for me. The strings i've added to functions.php with the slug of the custom fields does not compares in string translation

Novembre 7, 2022 a 3:43 pm #12401753

Alejandro
Supporter

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

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

Ciao!

Parli di Custom fields e poi di traduzioni tramite codice e string translation e le 2 cose sono un po' diverse.

- I custom field si traducono negli stessi posti dove gli hai aggiunti, quindi se sono in una pagina, si traducono direttamente nella stessa pagina, come se fossero parte del contenuto.

- Se invece si tratta di codice, devi prima configurare il testo perché sia traducibile.

Se mi scrivi la procedura o mi fai un video breve dove mi fai vedere quello che hai fatto (ti consiglio link nascosto per questo, ma qualunque mezzo va benissimo) forse ti posso dare un suporto più specifico.

Saluti.

Novembre 7, 2022 a 6:09 pm #12402871

cosimoA

Ciao Alejandro, grazie per la risposta. In questo vostro articolo (https://wpml.org/documentation/getting-started-guide/string-translation/translating-user-meta-information-with-wpml/) c'è scritto che per tradurre i custom field degli utenti bisogna usare string translation rendendo tali campi traducibili attraverso l'aggiunta di codice in functions.php.

Ti allego uno screenshot sperando di essere più chiaro.

Schermata 2022-11-07 alle 19.03.03.png
Novembre 8, 2022 a 9:24 am #12408137

Alejandro
Supporter

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

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

Scusami, hai ragione, parli di USER custom fields e questo mi ha confuso inizialmente, ho letto diverse volte il testo e ogni volta avevo capito che USER era un post type e non proprio la sezione utenti standard di WordPress!

Nella guida che mi hai menzionato si specifica che quello che hai fatto tu serve per i campi che esistono già per default, quindi i campi che aggiunge WordPress (Bio, nome, ecc).

Invece per i campi personalizzati devi seguire la parte che si trova sotto in quella guida: https://wpml.org/documentation/getting-started-guide/string-translation/translating-user-meta-information-with-wpml/#translating-custom-user-fields

Quindi devi aggiungere un codice che poi li registrerà su String Translation. I campi personalizzati di toolset hanno tutti un nome "wpcf-{Nome campo in toolset}", qunidi devi prefissare "wpcf-" al nome che hai assegnato tu al campo su toolset.

Registrali nel tuo functions.php come spiegato nella guida o nella descrizione e uso del hook che linkerò qui sotto e poi li potrai vedere su String Translation.

https://wpml.org/wpml-hook/wpml_translatable_user_meta_fields/

Nel frattempo posso aggiungere questo ticket come un feature request per cercare di migliorare questa compatibilità tra i 2 plugin.

Novembre 8, 2022 a 5:07 pm #12412817

cosimoA

Ciao Alejandro. Ho aggiunto(come avevo già fatto in precedenza) il seguente codice in functions.php:

add_filter( 'wpml_translatable_user_meta_fields', function( $fields ) {
$fields[] = 'wpcf-ruolo';
return $fields;
});

...ma la stringa non compare in string traslation (ti allego la schermata).

Schermata 2022-11-08 alle 18.05.59.png
Novembre 9, 2022 a 10:10 am #12418469

Alejandro
Supporter

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

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

Mi potresti dare accesso al sito e mi potresti dire dove posso vedere il contenuto della stringa nel front-end (e come l'hai aggiunto nel front-end)? vorrei vedere perché non si sta registrando come dovrebbe.

Ho attivato i campi per le credenziali nella tua prossima risposta.

Saluti.

Novembre 10, 2022 a 8:45 am #12427115

Alejandro
Supporter

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

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

- Dalla mia risposta precedente ti sei dimenticato di dirmi una cosa importante:

Mi potresti dire dove posso vedere il contenuto della stringa nel front-end (e come l'hai aggiunto nel front-end)?

- Poi, posso fare il test con qualunque utente o devo vederlo con uno specifico?

Novembre 10, 2022 a 9:44 am #12427699

cosimoA

Buongiorno. Non avevo ancora pensato a mostrarlo nel front-end, volevo prima tradurli. In ogni caso alcune pagine mostrano già quei campi in italiano. Per mostrarli ho usato “the_author_meta” e “get_the_author_meta”. Puoi vederli in author.php ad esempio.

Novembre 10, 2022 a 11:01 am #12428657

Alejandro
Supporter

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

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

Ok, perché si registrino in String translation dovrebbero prima essere renderizzati nel front-end.

Cioè aggiungi il codice, e dopo prova a farlo vedere nel front-end usando "get_the_author" e poi magari prova a far vedere solo uno dei campi che si deve registrate, una volta fatto questo, controlla se viene registrato in string translation.

Provaci e fammi sapere come va e dove hai aggiunto il codice, per poi controllare in caso non funzioni.

Saluti.

Novembre 11, 2022 a 12:01 pm #12438957

cosimoA

Ciao. In author.php ho aggiunto:
echo get_the_author_meta('wpcf-ruolo');
…ma le stringhe non compaiono ancora in string translation

Novembre 11, 2022 a 4:03 pm #12440799

Alejandro
Supporter

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

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

Mi puoi dare il link che hai usato per vedere il problema nel front-end per cercare di seguire i tuoi passi e vedere come ti posso aiutare?

Grazie in anticipo.

Novembre 12, 2022 a 7:09 am #12443675

cosimoA

Ciao Alejandro, puoi vedere i campi nel frontend ad esempio su queste pagine:
link nascosto
link nascosto

Novembre 12, 2022 a 9:17 am #12443955

Alejandro
Supporter

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

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

1) Prima di continuare dobbiamo sistemare alcune cose sulla tua installazione.

Guarda qui: link nascosto

- Aggiorna PHP alla versione 7.4, per favore
- Aumenta la memoria a 256M visto che stai usando 110M attualmente e hai solo 40M a disposizione.

Per farlo, aggiungi questo codice nel tuo file wp-config.php, subito dopo l'informazione del database

define('WP_MEMORY_LIMIT','256M');

Poi fammi sapere quando l'avrai fatto e assicurati che compaia in quella pagina che ti ho inviato (WPML > Assistenza) per poter continuare visto che questo sicuro sta creando problemi (cioè non riesce a salvare dati nel database o non riceve nemmeno la richiesta).

2) Guarda qui: link nascosto

questo ruolo è stato registrato, ed è quello che compare in "var_dump(get_the_author_meta('wpcf-ruolo'));" quando l'aggiungo al authors.php.

ecco quello che vedo io: link nascosto

Quindi sembra funzionare.

Novembre 14, 2022 a 11:00 am #12452953

cosimoA

Ciao Alejandro. Adesso funziona, ma quando ti ho scritto ancora non funzionava. Provo ad aggiungere gli altri custom types e vedo se funzionano. Posso far aggiornare php dal mio hosting provider, ma no prima di mercoledì. Ti scrivo giovedì per aggiornarti se funziona tutto correttamente.

AGGIORNAMENTO: Ho aumentato intanto la memoria di php. Mi sono accorto che non tutte i wpcf-ruolo erano disponibili per la traduzione in stringe translation, ma solo alcuni. Per farli uscire in stringe translation bisogna aggiornare gli utenti uno ad uno, anche senza cambiare nulla. Ho fatto un video che puoi vedere qui: link nascosto

Novembre 14, 2022 a 1:12 pm #12454433

Alejandro
Supporter

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

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

Ciao!

Si, è necessario aggiornarli perché WordPress di suo, quando si tratta di custom fields salva cambiamenti solo quando ci sono. se non c'è niente, si risparmia una query e diversi hook. senza questi hook è impossibile per noi capire che c'è un valore per questi campi. questo è normale e si potrebbe dire che è una "restrizione" creata dal modo come WordPress lavora.

Per il resto, quando ho controllato il codice, tanti dei tuoi campi non avrebbero funzionato perché non usavi get_the_author_meta, quindi tieni questo in considerazione.

Saluti.

L'argomento '[Feature Request] translate user custom fields' è chiuso a nuove risposte.