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.

Etichettato: 

Questo ticket contiene 8 risposte, ha 0 voci.

Ultimo aggiornamento da Laura 11 mese, 4 settimana fa.

Assistito da: Laura.

Autore Post
Aprile 14, 2025 alle 11:04 #16928582

libreS

Contesto del problema:
Sto usando WPML ACF e ACF Multilingual. Ho impostato i campi come stessi campi fra le lingue. Ho tradotto una tassonomia e sto cercando di accedere ad un campo personalizzato per la lingua tradotta. Quando uso get_field sull'id del termine tradotto ottengo un valore vuoto. Link alla pagina dove si può vedere il problema: link nascosto

Sintomi:
Ottengo un valore vuoto quando uso get_field sull'id del termine tradotto, nonostante nella traduzione della tassonomia veda il campo tradotto. Questo genera un fatal error.

Domande:
Perché get_field restituisce un valore vuoto per il termine tradotto?
Come posso risolvere il fatal error causato dal campo vuoto?

Aprile 14, 2025 alle 19:24 #16931066

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

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

Salve,

grazie per averci contattato.

Che codice usi esattamente nel frontend e qual è l'errore fatale?

Aprile 15, 2025 alle 7:29 #16931990

libreS

Ciao,

questo il codice

$term_id = get_queried_object()->term_id;
$mascotte_elem = get_field('mascotte', 'missione_' . $term_id );
return $mascotte_elem['descrizione'];

$term_id è correttamente valorizzato con l'id del termine in lingua
$mascotte_elem è vuoto
l'errore arriva sull'index dell'array mancante

grazie!

Aprile 15, 2025 alle 13:43 #16934440

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

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

I campi che campi sono? Mascotte è un repeater con subfield?

Aprile 15, 2025 alle 15:49 #16935227

libreS

mascotte è un group con 3 sottocampi

Aprile 15, 2025 alle 17:25 #16935688

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

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

Ho inviato il ticket al secondo livello, ti faccio sapere.

Aprile 16, 2025 alle 7:22 #16937035

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

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

Mi dicono che sembra che ACF si aspetti una stringa, ma il codice è costruito per un array.

Prova ad usare var_dump( $mascotte_elem ); per chiarire cosa dovrebbe restituire il campo.

Aprile 16, 2025 alle 9:07 #16937344

libreS

ho lasciato il dump aperto.
Qui il link in italiano e funziona:
link nascosto

Qui il link in inglese che non funziona
link nascosto

Tra l'altro dovrei chiedere alcune cose sulla url ma uso un altro ticket

grazie

Aprile 16, 2025 alle 11:06 #16938169

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

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

Mi mandi le credenziali del sito?

Aprile 16, 2025 alle 14:14 #16939383

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

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

La pagina di login mi chiede necessariamente una mail, non il nome utente, puoi utilizzarne una fake.

Aprile 17, 2025 alle 8:00 #16942434

libreS

scusami, hai ragione:
eccola: support@edmondoperrone.com

Aprile 17, 2025 alle 15:10 #16944863

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

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

Ok, grazie. Ti faccio sapere il prima possibile.

Aprile 17, 2025 alle 16:18 #16945188

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

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

Prova con

function get_mascotte_description() {
	$term_id = get_queried_object()->term_id;
	$mascotte_elem = get_field('mascotte', 'missione_' . $term_id );
	return isset( $mascotte_elem['descrizione'] ) ? $mascotte_elem['descrizione'] : "";
}
add_shortcode('mascotte_description', 'get_mascotte_description');
Aprile 19, 2025 alle 6:56 #16948539

libreS

Ho inserito il codice.
se cambiate lingua, nel language switcher nel footer, ritrovate l'errore.
Purtroppo non viene valorizzato "$mascotte_elem" nonostante, come potete vedere dal backend, sia tradotto anche il campo descrizione

link nascosto
link nascosto

Aprile 22, 2025 alle 10:41 #16954565

Laura
Sostenitore di WPML dal 05/2018

Lingue: Inglese (English ) Italiano (Italiano )

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

Riporto al secondo livello.