WPML + 7host theme : Display native language in language selector
By default 7host theme overrides the WPML settings that allow to customize the language selector. So you need to edit a file in 7host theme to customize the language selector in order to show the other language in its native translation.
Edit wp-content/themes/7host/inc/wpml.php
Original
function shost_language_select() {
$languages = shost_get_languages();
if ( 1 < count( $languages ) ) { ?>
<form method="POST" class="langForm">
<select name="language" id="language" onchange="location = this.options[this.selectedIndex].value;">
<option disabled="disabled" value="NoSeclect">Language</option>
<?php foreach( $languages as $lang ) {
$value = $lang['url'];
$selected = ( $lang['active'] != null ? 'selected="selected"' : '' );
echo '<option value="'.$value.'" '.$selected.'>'.$lang['translated_name'].'</option>';
} ?>
</select>
</form><!-- end of lang form -->
<?php }
}
Modified
function shost_language_select() {
$languages = shost_get_languages();
if ( 1 < count( $languages ) ) { ?>
<form method="POST" class="langForm">
<select name="language" id="language" onchange="location = this.options[this.selectedIndex].value;">
<option disabled="disabled" value="NoSeclect">Language</option>
<?php foreach( $languages as $lang ) {
$value = $lang['url'];
$displayName = $lang['translated_name'];
$selected = "";
if ( $lang['active'] != null )
{ $selected = 'selected="selected"';
}
else
{ $displayName = $lang['native_name'];
}
echo '<option value="'.$value.'" '.$selected.'>'.$displayName.'</option>';
} ?>
</select>
</form><!-- end of lang form -->
<?php }
}
Et voilà !

Recent Comments