According to This article
Umleiten Benutzer bei der ersten Anmeldung in Wordpress
auf Mitgliedschaft basierenden Wordpress-Websites und andere Websites, auf denen Sie eine besondere Begrüßungsnachricht oder Anweisungen, um neue Benutzer anzeigen möchten, können Sie einige implementieren benutzerdefinierte Login-Redirect-Funktionalität. Diese Funktionalität tritt nur einmal (oder für die ersten paar Logins) pro Benutzer ein.
Die wichtigen Elemente auf der Code-Seite für eine solche Funktionalität ist die Verwendung des integrierten WordPress "login_redirect" -Filters und die Speicherung von Informationen darüber, ob der Benutzer die "erste Anmeldung" erhalten hat oder nicht. Es gibt mehrere mögliche Ansätze, um die Informationen zu speichern, entweder in einem Cookie oder in den Meta-Informationen des Benutzers (gespeichert in der WordPress-Datenbank in der Tabelle "wp_usermeta").
Hier einige Beispiel-Code, den Sie in Ihrem Thema der functions.php-Datei oder in einem Plugin verwenden:
Cookie-basierte Lösung
// 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
Benutzermetatabelle basierte Lösung
// 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
Überprüfen Sie dies https://stackoverflow.com/questions/4267285/redirect-user-after-first-login-in-wordpress?rq=1 – EniGma