注册后将用户重定向到其作者帖子 URL

问题描述 投票:0回答:1

我需要在注册后将用户重定向到他们的作者页面。

过滤器

'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吗? 我还有其他方法可以完成这个任务吗? (也许还有其他过滤器或挂钩)?

谢谢你

wordpress wordpress-theming wordpress-rest-api wordpress-gutenberg wordpress-shortcode
1个回答
0
投票

如果您检查文档页面的 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;
}
© www.soinside.com 2019 - 2024. All rights reserved.