问题是你正在使用get_current_user_id();
. 这有两个不正确的原因:
创建的用户不一定是当前用户。例如,如果管理员手动创建用户
user_register
在创建用户后但在用户登录之前立即运行。那么什么时候user_register
为在前端注册的用户运行,没有当前用户如果要向正在创建的用户添加meta,则在创建meta时,需要使用
$user_id
传递给回调函数的变量。此用户ID用于创建的用户,无论他们是否是当前登录的用户。
function add_to_group( $user_id ) {
update_user_meta( $user_id, \'learndash_group_users_6597\', \'6597\' );
}
add_action( \'user_register\', \'add_to_group\' );
请注意
$user_id
传递给
add_to_group
是我们正在使用的
update_user_meta()
.
此外,在原始代码中,您接受了函数的3个参数。我删除了它们,因为正如你从the documentation 对于挂钩,只有1个变量,$user_id
传递给回调。