This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

This topic contains 12 replies, has 2 voices.

Last updated by Vincenzo 12 months ago.

Assigned support staff: Vincenzo.

Author Posts
October 17, 2018 at 2:32 pm #2824959

mirko

When some content is not available in the other language the switcher has to not show the other language..but i still see both language and the only thing i can do is a redirect to homepage..."skip language" doesnt work

October 17, 2018 at 3:42 pm #2825242

Vincenzo
Supporter

Languages: English (English ) Italian (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Hello, thank you for contacting WPML Support!

1. Can you please give me a link to see the issue live?
- I think a modification of the hosts file may be needed as the online site is not made with WordPress.

2. Can you please tell me if this happens with a language selector added by WPML or with a custom language selector?

Thank you

October 17, 2018 at 4:09 pm #2825269

mirko

Ciao Vincenzo,

1) il sito è in fase di sviluppo, se mi dai la possibilità di mandarti in privato le info del file host ti giro le credenziali.
2) succede con il selector di wpml

a presto

October 17, 2018 at 4:42 pm #2825381

Vincenzo
Supporter

Languages: English (English ) Italian (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

se fosse possibile adesso vorrei chiedere un accesso temporaneo (wp-admin e FTP) al sito per dare un’occhiata più approfondita al problema.

Troverai i campi necessari per far questo sotto l’area commenti quando effettuerai il log in per rispondere.
Le informazioni che inserirai sono private, il che significa che solamente noi possiamo vederle ed averne accesso.
Se non vedi il modulo sottostante, non postare le credenziali perché risulterebbe visibili nel forum pubblico:
hidden link

Potrei aver bisogno di replicare il tuo sito localmente. Per questo avrei bisogno di installare temporaneamente un plugin chiamato "Duplicator". Questo mi permetterà di creare una copia del tuo sito. Una volta risolto il problema, cancellerò la copia del sito. Fammi sapere se sei d'accordo.

Grazie

October 18, 2018 at 4:45 pm #2828861

Vincenzo
Supporter

Languages: English (English ) Italian (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

il selettore sembra aggiunto in maniera personalizzata da questa funzione alla riga 111 del file /include/primary-menu.php che si trova nella cartella del tema.

<?php $ozyHelper->language_selector_flags(); ?>

La funzione language_selector_flags() viene definita nel file /functions/classes/helper.php del tema a partire dalla riga 209

Per risolvere, prova a cambiare la riga 215 da così:

$languages = icl_get_languages('skip_missing=0&orderby=code');

a così:

$languages = icl_get_languages('skip_missing=1&orderby=code');

Il codice non viene visualizzato correttamente nella email di notifica. Assicurati di usare il codice preso dal forum.

Fammi sapere se così risolvi o se hai bisogno di maggiori informazioni.

Grazie

Documentazione relativa:
https://wpml.org/it/documentazione/guida-introduttiva/configurazione-della-lingua/selettore-di-lingua-personalizzato/

October 19, 2018 at 8:03 am #2830954

mirko

Ciao,

ho cambiato la riga di codice come mi hai indicato ma non mi sembra sia cambiato nulla..

October 19, 2018 at 1:40 pm #2832253

Vincenzo
Supporter

Languages: English (English ) Italian (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

per proseguire nel debug del problema, senza compromettere il sito online, avrei bisogno di replicare il sito localmente nel mio server.

Per questo normalmente raccomandiamo il Plugin gratuito “Duplicator”
- https://wordpress.org/plugins/duplicator/

★ Istruzioni:
hidden link
https://wpml.org/it/faq/come-fornire-ai-supporter-una-copia-del-vostro-sito/

Se il file risultante è troppo grande (maggiore di 350 MB) si possono utilizzare i filtri di Duplicator per evitare di includere la cache, la cartella wp-uploads, i file media e gli archivi per ridurre la dimensione dell'archivio.

A me serve il file archive che il plugin genera. Puoi incollare il link al file nella prossima risposta.

Puoi usare servizi come Google Drive o Dropbox per inviarmelo.

Ti attivo una risposta privata così puoi inviarmi il link al file in maniera sicura.

Fammi sapere se hai bisogno di aiuto nel creare il duplicato.

Grazie

October 20, 2018 at 2:32 pm #2834306

Vincenzo
Supporter

Languages: English (English ) Italian (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

ho dato un'occhiata al sito.

La soluzione precedente era corretta, ma bisognava applicarla da un'altra parte.

- Apri la cartella del tema
- Apri il file /functions/functions.php
- Scorri fino alla riga 1538
- Trova questa riga:

$languages = icl_get_languages('skip_missing=0&orderby=code');

Sostituiscila con questa:

$languages = icl_get_languages('skip_missing=1&orderby=code');

Fammi sapere se così risolvi.
Grazie

October 22, 2018 at 6:31 am #2836900

mirko

Ciao,

ok, ora funziona anche se sembra che abbia perso la foramttazione css nativa del tema per quanto riguarda lo switch delle lingue...hai per caso modificato qualcosa?

solo un'ultima cosa:
quando compaiono le lingue, ho sia la flag sia il nome, ho provato a vistare dalle impostazioni di mantenere solo o l'una o l'altra ma non mi cambia assolutamente nulla...

October 22, 2018 at 6:36 am #2836903

mirko

...e scusa me ne sono accorto solo ora...
quando in realtà c'è solo una lingua, mi apre ugualmente lo switch con la stessa lingua...hidden link

October 22, 2018 at 4:05 pm #2838872

Vincenzo
Supporter

Languages: English (English ) Italian (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

1. Per quanto riguarda la formattazione, puoi darmi maggiori dettagli?
- Non credo che la modifica suggerita abbia riguardato quell'aspetto, ed io ho effettuato tutte le prove nella copia locale del sito.

2. Le impostazioni di WPML non hanno nessun effetto su questo codice personalizzato.
Per effettuare le modifiche che richiedi, devi modificare manualmente il codice all'interno del file functions.php del tema.
Per maggiori dettagli su come modificare il codice per visualizzare solo le bandiere o solo i nomi, vedi la documentazione allegata in fondo alla risposta.

3. Per rimuovere la lingua attiva, prova questi passaggi:

- Apri la cartella del tema
- Apri il file /functions/functions.php
- Scorri fino alla riga 1536
- Sostituisci questo blocco di codice:

		if('logged-in-menu' === $args -> theme_location || 'header-menu' === $args -> theme_location) {
			if(function_exists("icl_get_languages") && function_exists("icl_disp_language") && defined("ICL_LANGUAGE_CODE") && defined("ICL_LANGUAGE_NAME")){
				$languages = icl_get_languages('skip_missing=1&orderby=code');
				$wpml_output .= '<li class="menu-item menu-item-wpml"><a id="wpml-language-switcher" href="javascript:void(0);"><span><img src="'. $languages[ICL_LANGUAGE_CODE]['country_flag_url'] .'" alt="'. ICL_LANGUAGE_CODE .'"/><span>'. ICL_LANGUAGE_NAME .'</span></span></a>';
				$wpml_output .= '<ul>';
				if(!empty($languages)){
					foreach($languages as $l){
						$wpml_output .= '<li>';
						$wpml_output .= '<a href="' . $l['url'] . '">';
						if($l['country_flag_url']){
							$wpml_output .= '<img src="' . $l['country_flag_url'] . '" height="12" alt="' . $l['language_code'] . '" width="18" />';
						}
						$wpml_output .= icl_disp_language($l['native_name'], '');
						$wpml_output .= '</a>';
						$wpml_output .= '</li>';
					}
				}
				$wpml_output .= '</ul>';
				$wpml_output .= '</li>';
			}
		}

Con questo codice:

		if('logged-in-menu' === $args -> theme_location || 'header-menu' === $args -> theme_location) {
			if(function_exists("icl_get_languages") && function_exists("icl_disp_language") && defined("ICL_LANGUAGE_CODE") && defined("ICL_LANGUAGE_NAME")){
				$languages = icl_get_languages('skip_missing=1&orderby=code');
				$wpml_output .= '<li class="menu-item menu-item-wpml"><a id="wpml-language-switcher" href="javascript:void(0);"><span><img src="'. $languages[ICL_LANGUAGE_CODE]['country_flag_url'] .'" alt="'. ICL_LANGUAGE_CODE .'"/><span>'. ICL_LANGUAGE_NAME .'</span></span></a>';
				$wpml_output .= '<ul>';
				if(!empty($languages)){
					foreach($languages as $l){
						if(!$l['active']){
							$wpml_output .= '<li>';
							$wpml_output .= '<a href="' . $l['url'] . '">';
							if($l['country_flag_url']){
								$wpml_output .= '<img src="' . $l['country_flag_url'] . '" height="12" alt="' . $l['language_code'] . '" width="18" />';
							}
						$wpml_output .= icl_disp_language($l['native_name'], '');
						$wpml_output .= '</a>';
						$wpml_output .= '</li>';
						}
					}
				}
				$wpml_output .= '</ul>';
				$wpml_output .= '</li>';
			}
		}

Fammi sapere se così risolvi o se hai bisogno di maggiori informazioni.

Grazie

Documentazione relativa:
https://wpml.org/it/documentazione/guida-introduttiva/configurazione-della-lingua/selettore-di-lingua-personalizzato/

October 23, 2018 at 8:39 am #2841535

mirko

1) Era un errore mio che ho sistemato
2) perfetto grazie
3) perfetto, grazi mille

m.

October 23, 2018 at 8:45 am #2841558

Vincenzo
Supporter

Languages: English (English ) Italian (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

sono contento che il problema sia risolto.

In caso di altri problemi o domande non esitare ad aprire un nuovo ticket.

Buon lavoro