如何在更改USER_LOGIN后再次自动登录用户

时间:2017-10-17 作者:Trello

我有一个ajax系统,它可以更改用户的user\\u登录,这是我的代码:

$wpdb->update($wpdb->users, array(\'user_login\' => sanitize_text_field($args[\'user_login\'])), array(\'ID\' => $user_id));
更改user\\u登录名后,WordPress将注销此用户,因此我尝试在更改user\\u登录名后使用wp\\u登录名,但它不起作用,有什么建议吗?

1 个回复
最合适的回答,由SO网友:majick 整理而成

我发现,在尝试类似操作时,我需要清除用户缓存以使重新登录正常工作(经过许多令人沮丧的测试!):

wp_cache_delete($user_id, \'users\');
wp_cache_delete($old_user_login, \'userlogins\'); // maybe unnecessary?
$creds = array(\'user_login\' => $user_login, \'user_password\' => $user_password, \'remember\' => true);
wp_signon($creds);
注意:要做到这一点,您可能还需要用户同时更改其密码,以便您可以填充$user_password 包含要提供给的纯文本密码的字段wp_signon

结束

相关推荐

将子主题的函数添加到函数.php

我正在尝试对我的父主题进行一些编辑。我制作了一个子主题,这样更新父主题就不会产生问题。现在我想添加父主题函数中的某个函数。php到函数。子主题的php文件。我正在使用倾斜主题。以下是父文件中的函数:function oblique_post_link_to_single() { if ( ! get_theme_mod( \'read_more\' ) ) :?> <a href=\"<?php the_permalink(); ?>