我已经创建了一个自定义注册页面,要求提供电子邮件、用户名和其他俱乐部的会员号码。
在创建用户之前,我使用api检查新用户是否是俱乐部的现有成员,并接收该成员记录的id号。
我想把它存储在Wordpress用户那里,所以我把它保存在元数据中。
这是一个多站点,因此我使用以下代码。
$user_meta = array(\'add_to_blog\' => get_current_blog_id(), \'new_role\' => \'subscriber\', \'club_id\' => $club_id);
\\wpmu_signup_user($Username, $Email, apply_filters( \'add_signup_meta\', $user_meta ) );
这一切都正常,我可以在wp\\U注册表中看到我的数据,并发送确认电子邮件。
使用未经确认的插件,我还可以看到我的新用户正在等待确认。
然后我进行了设置,以便在确认帐户后,club\\u id也会传输到用户元详细信息。
function activate_user($user_id, $password, $meta) {
if (isset($meta["club_id"]))
update_user_meta( $user_id, "club_id", $meta["club_id"]);
}
add_action(\'wpmu_activate_user\',\'activate_user\',10,3);
如果我使用未经确认的插件激活帐户,这会像预期的那样工作,但如果用户使用电子邮件中的链接,则不会。创建用户,发送所有电子邮件,但club\\u id未存储在用户元中,因为未调用此挂钩。
我有办法避开这件事吗?