Я хочу перенаправить пользователей после входа в систему на основе имени пользователя.
add_filter( 'login_redirect', 'wppbc_custom_login_redirect', 99, 3 );
function wppbc_custom_login_redirect( $redirect_to, $requested_redirect_to,
$user ) {
if ( is_wp_error( $user ) ) {
return $redirect_to;
}
$username = $user->user_login;
if ( is_array( $form_args ) ) {
switch ( $username ) {
case 'User1':
$redirect_to = 'https://www.example.com/User1';
break;
case 'User2':
$redirect_to = 'https://www.example.com/User2';
break;
default:
$redirect_to = 'https://www.example.com';
}
}
return $redirect_to;
}
Единственная проблема заключается в том, что мне не нужно вручную добавлять каждого пользователя в этот список с доменом, на который я хочу, чтобы они были перенаправлены после успешного входа в систему. Мне нужен единый код, в котором я могу добавить переменную имени пользователя в домен.
Имя пользователя x успешно входит в систему и будет перенаправлен на www.example.com/x Имя пользователя y успешно входит в систему и будет перенаправлен на www.example.com/y
Может ли кто-нибудь помочь мне с этим кодом?






Вы не можете так поступать необходимо отправить обратно переменную javascript на ваш сервер, прежде чем сервер сможет обработать значение. Для этого вы можете либо запрограммировать функцию javascript, которая отправляет форму, либо использовать ajax / jquery. jQuery.post
Возможно, самый простой подход для вас - это что-то вроде этого
function myJavascriptFunction() {
var javascriptVariable = "John";
window.location.href = "myphpfile.php?name = " + javascriptVariable;
}
В myphpfile.php вы можете использовать $ _GET ['name'] после того, как ваш javascript был выполнен.
$redirect_to = 'https://www.example.com/' . $username;просто объединяет имя пользователя в конце URL-адреса