Столкнулся с проблемой, в сети нету норм ответа.
Проблема обновления языка сайта после обновления данных пользовательского locale.
Процесс:
Пользователь выбирает из select нужный язык интерфейса.
Данные через JQuery добавляются в куки и там же через js обновляю страницу. Переводы на странице не меняются но в базе данные успешно поменялись.
После повторного обновления страницы, данные выводятся и язык меняется. До повторного обновления выводятся старые locale.
Как обойти этот момент?
Вот сам код смены языка:
add_action('init', 'locale_edit');
function locale_edit(){
if ( is_user_logged_in() ) {
if( isset($_COOKIE['locale']) AND get_user_meta( get_current_user_id(), 'locale', true) != $_COOKIE['locale']){
update_user_meta( get_current_user_id(), 'locale', $_COOKIE['locale'])); //Да без обработки, тестирую так)
clean_user_cache( get_current_user_id() );
wp_set_auth_cookie(get_current_user_id());
wp_set_current_user(get_current_user_id());
}
}
}
$('#lang').on('change', function(){
setCookie('locale', $(this).val(), 30);
location.reload();
});