URL-адреса обновления профиля для профилей пользователей зависят от языка: .../nl/profile.php
а также .../en/profile.php
, Когда пользователи нажимают «Обновить профиль», я могу перенаправить их на любой URL. Но теперь я хочу проверить текущий URL, чтобы увидеть, есть ли /nl/
там, так что я могу дать им перенаправление на свой язык. Я использую приведенный ниже код, но результат «если заявление» всегда false
, Я вижу это: когда я ввожу другой URL там, он подхватывает тот. Таким образом, код, кажется, работает, только тест не проходит. Есть идеи, что я делаю не так?
add_action( 'profile_update', 'custom_profile_redirect', 12 );
function custom_profile_redirect() {
if(strpos("//{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}", '/nl/') === false ) {
wp_redirect( trailingslashit( home_url() . '/en' ) );
} else {
wp_redirect( trailingslashit( home_url() . '/nl' ) );
}
exit;
}
[edit:] Переменные, которые мне удалось получить, после обновления профиля устанавливаются в ‘en’, даже в глобальную переменную плагина. Теперь я решил эту проблему, добавив выпадающий список LanguagePreference в форму регистрации. В After-Update-Redirect я читаю пользовательские меты и перенаправляю их по собственному усмотрению.Задача ещё не решена.
Других решений пока нет …