我需要在注册后将用户重定向到他们的作者页面。
过滤器
'registration_redirect'
正在工作,我似乎无法检索最近注册的用户ID以获取他们的作者页面并重定向它们。
我试图从
$_POST
、wp_get_current_user()
、$_GET
获取最近注册的用户ID,但是,没有成功。
add_filter( 'registration_redirect', 'redirect_to_author_page' );
function redirect_to_author_page( $registration_redirect ) {
// this is not working
$user = wp_get_current_user();
$user_id = $user->ID; // EMPTY
// this is not working either
$user = get_user_by( 'email', $_POST['user_email'] );
$user_id = $user->ID; // EMPTY
$author_url = get_author_posts_url( $user_id );
return $author_url;
}
知道如何在“registration_redirect”过滤器中检索最近注册的用户 ID吗? 我还有其他方法可以完成这个任务吗? (也许还有其他过滤器或挂钩)?
谢谢你
如果您检查文档页面的 registration_redirect 过滤器,您会注意到第二个参数,名为 $errors。
从名字上看不出来,但是,如果注册成功,该参数包含用户ID。
所以你的代码应该是这样的:
add_filter( 'registration_redirect', 'redirect_to_author_page', 99, 2 );
function redirect_to_author_page( $registration_redirect, $errors ) {
// Use the default value if the registration wasn't successful
if ( is_wp_error( $errors ) || ! isset( $errors ) ) {
return $registration_redirect;
}
$user_id = $errors;
$author_url = get_author_posts_url( $user_id );
return $author_url;
}