According to This article
Перенаправление пользователей на первом входе в WordPress
На основе членства WordPress сайтов и других сайтов, где вы хотите, чтобы отобразить специальное приветствие или инструкции для новых пользователей, вы можете реализовать некоторые пользовательский интерфейс для переадресации. Эта функция будет срабатывать только один раз (или для первых нескольких логинов) для каждого пользователя.
Важными элементами кодовой стороны для такой функциональности являются использование встроенного фильтра WordPress «login_redirect» и сохранение информации о том, получил ли пользователь «первый вход». Существует несколько возможных подходов к хранению информации либо в файле cookie, либо в метаинформации пользователя (хранящейся в базе данных WordPress в таблице «wp_usermeta»).
Вот некоторые примеры кода можно использовать в файле functions.php вашей темы или плагина:
раствора Cookie на основе
// Send new users to a special page
function redirectOnFirstLogin($redirect_to, $requested_redirect_to, $user)
{
// URL to redirect to
$redirect_url = 'http://yoursite.com/firstloginpage';
// How many times to redirect the user
$num_redirects = 1;
// Cookie-based solution: captures users who registered within the last n hours
// The reason to set it as "last n hours" is so that if a user clears their cookies or logs in with a different browser,
// they don't get this same redirect treatment long after they're already a registered user
// 172800 seconds = 48 hours
$message_period = 172800;
// If they're on the login page, don't do anything
if(!isset($user->user_login))
{
return $redirect_to;
}
$key_name = 'redirect_on_first_login_' . $user->ID;
if(strtotime($user->user_registered) > (time() - $message_period)
&& (!isset($_COOKIE[$key_name]) || intval($_COOKIE[$key_name]) < $num_redirects)
)
{
if(isset($_COOKIE[$key_name]))
{
$num_redirects = intval($_COOKIE[$key_name]) + 1;
}
setcookie($key_name, $num_redirects, time() + $message_period, COOKIEPATH, COOKIE_DOMAIN);
return $redirect_url;
}
else
{
return $redirect_to;
}
}
add_filter('login_redirect', 'redirectOnFirstLogin', 10, 3);
Download the cookie-based redirect on first login plugin
Решение, основанное на мета-таблице пользователя
// Send new users to a special page
function redirectOnFirstLogin($redirect_to, $requested_redirect_to, $user)
{
// URL to redirect to
$redirect_url = 'http://yoursite.com/firstloginpage';
// How many times to redirect the user
$num_redirects = 1;
// If implementing this on an existing site, this is here so that existing users don't suddenly get the "first login" treatment
// On a new site, you might remove this setting and the associated check
// Alternative approach: run a script to assign the "already redirected" property to all existing users
// Alternative approach: use a date-based check so that all registered users before a certain date are ignored
// 172800 seconds = 48 hours
$message_period = 172800;
// If they're on the login page, don't do anything
if(!isset($user->user_login))
{
return $redirect_to;
}
$key_name = 'redirect_on_first_login';
// Third parameter ensures that the result is a string
$current_redirect_value = get_user_meta($user->ID, $key_name, true);
if(strtotime($user->user_registered) > (time() - $message_period)
&& ('' == $current_redirect_value || intval($current_redirect_value) < $num_redirects)
)
{
if('' != $current_redirect_value)
{
$num_redirects = intval($current_redirect_value) + 1;
}
update_user_meta($user->ID, $key_name, $num_redirects);
return $redirect_url;
}
else
{
return $redirect_to;
}
}
add_filter('login_redirect', 'redirectOnFirstLogin', 10, 3);
Download the user-meta based redirect on first login plugin
Проверьте это https://stackoverflow.com/questions/4267285/redirect-user-after-first-login-in-wordpress?rq=1 – EniGma