fuck_ask
@fuck_ask
web программист

Как обновить данные пользователя после изменения пользовательского locale?

Столкнулся с проблемой, в сети нету норм ответа.
Проблема обновления языка сайта после обновления данных пользовательского 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();
});
  • Вопрос задан
  • 27 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы