我需要保持用户名和用户的电子邮件同步。我不知道是否有更好的方法,因此我尝试在用户更新其配置文件数据后立即运行此代码:
global $wpdb;
$wpdb->update(
$wpdb->users,
array(\'user_login\' => $email),
array(\'ID\' => $user->ID)
);
但这样,身份验证cookie将无效,用户将注销。
我还尝试在更新后立即强制创建身份验证cookie,如下所示:
wp_clear_auth_cookie();
$user = get_user_by( \'id\', $user_id );
if( $user ) {
wp_set_current_user( $user_id, $user->user_login );
wp_set_auth_cookie( $user_id, true );
do_action( \'wp_login\', $user->user_login );
}
但没有结果。