У меня есть следующий php код:
<?php
global $current_user;
global $user_ID;
$user_lang = get_user_meta($user_ID, 'locale', true);
$selected_locale = get_user_meta($user_ID, 'locale', true);
$selected_locale = $_POST['LanguageOption'];
echo 'UserLang: '. $user_lang.'<br/>';
echo 'Selected Locale: '. $selected_locale.'<br/>';
?>
<div class="field" style="margin-top:-10px;">
<div style="padding:10px;">
<form name="setLanguage" id="setLanguage" method="POST">
<select name="LanguageOption" onchange="change()">
<option value="" <?php if(false !== stripos($selected_locale, ' ')) {echo 'selected="selected"';} ?>>Default ( English )</option>
<option value="en_GB" <?php if(false !== stripos($selected_locale, 'en_GB')) {echo 'selected="selected"';} ?>>English ( US )</option>
<option value="el_GR" <?php if(false !== stripos($selected_locale, 'el_GR')) {echo 'selected="selected"';} ?>>Greek</option>
</select>
</form>
<script>
function change(){
document.getElementById("setLanguage").submit();
}
</script>
<?php
update_user_meta( $user_ID, 'locale', $selected_locale);
$user_lang = get_user_meta($user_ID, 'locale', true);
$selected_locale = get_user_meta($user_ID, 'locale', true);
echo 'UserLang: '. $user_lang.'<br/>';
echo 'Selected Locale: '. $selected_locale.'<br/>';
?>
<?php
echo 'UserLang: '. $user_lang.'<br/>';
echo 'Selected Locale: '. $selected_locale.'<br/>';
if ($user_lang == '') { echo 'Default communication language ENGLISH';
} elseif ($user_lang == 'en_GB') { echo 'Your communication language: ENGLISH (US)';
}
elseif ($user_lang == 'el_GR') { echo 'Your communication language: GREEK';
} else {echo 'Nothing Selected';}
?>
<?php /*************************************/ ?>
Все работает нормально, даже если я перезагружаю страницу и переменная locale в таблицу usermeta изменяется соответствующим образом. Проблема заключается в том, что если я go перехожу на какой-либо другой URL-адрес сайта и возвращаюсь на эту страницу, опция переходит к первому параметру «Default (Engli sh)», а также изменяет поле языкового стандарта для пользователя.
Есть ли способ, которым я могу избежать этого? Не могли бы вы опубликовать модифицированный код?
Заранее спасибо Джордж