Как перенаправить конкретного пользователя после входа в систему?

Я хочу перенаправить пользователя, а его идентификатор пользователя – 6. Поэтому я добавил этот код в свои functions.php

 if ( is_user_logged_in() ) { $user_id = get_current_user_id(); if ($user_id == 6) { /* redirect users to front page after login */ function redirect_to_front_page() { global $redirect_to; if (!isset($_GET['redirect_to'])) { $redirect_to = get_option('siteurl'); } } add_action('login_form', 'redirect_to_front_page'); } } 

Но все же пользователь переходит на страницу rpofile после входа в систему. Как я могу заставить его работать?

[update] Затем я попытался изменить имя пользователя вместо идентификатора пользователя, но все равно. Он получает страницу профиля после входа в систему. как это:

 function redirect_to_front_page() { global $redirect_to; if ( is_user_logged_in() ) { //$user_id = get_current_user_id(); $current_user = wp_get_current_user(); //if ($user_id == 6) if ($current_user->user_login = 'hirer') { /* redirect users to front page after login */ if (!isset($_GET['redirect_to'])) { $redirect_to = get_option('siteurl'); } } } } add_action('login_redirect', 'redirect_to_front_page'); 

все еще ничего не изменилось. Пользователь получает страницу профиля при входе в систему.

Solutions Collecting From Web of "Как перенаправить конкретного пользователя после входа в систему?"

Вам необходимо использовать фильтр login_redirect возвращающий местоположение перенаправления:

 add_filter( 'login_redirect', 'redirect_to_home', 10, 3 ); function redirect_to_home( $redirect_to, $request, $user ) { if( $user->ID == 6 ) { //If user ID is 6, redirect to home return get_home_url(); } else { //If user ID is not 6, leave WordPress handle the redirection as usual return $redirect_to; } } 

используйте login_redirect hook вместо login_form И вы можете перемещать условия внутри вашей функции

как показано ниже.

 function redirect_to_front_page() { global $redirect_to; if ( is_user_logged_in() ) { $user_id = get_current_user_id(); if ($user_id == 6) { /* redirect users to front page after login */ if (!isset($_GET['redirect_to'])) { return $redirect_to = get_option('siteurl'); } } } } add_action('login_redirect', 'redirect_to_front_page' , 10 , 3 );