How to change a username?

时间:2017-08-22 作者:1.21 gigawatts

如何更改用户名?我的用户名以作者身份出现在搜索引擎中,但它是一个基于产品和服务的网站(仅使用页面),供客户使用。如果我无法删除作者页面,我需要更改用户名。

如果打开,您似乎可以更改用户名wordpress.com 所以这意味着它可能是可能的,但这是一个个人WP安装。

2 个回复
SO网友:baptx

答案最初发布在另一个问题上,该问题更为;“为什么我们不能”;而不是;“如何”:https://web.archive.org/web/20210408084000/https://wordpress.stackexchange.com/questions/135304/why-cant-i-update-username-through-wordpress-api/386265

下面是我用来正确更改用户名的解决方案(基于https://www.wpbeginner.com/wp-tutorials/how-to-change-your-wordpress-username/ 其中缺少信息):

我可以使用SQL简单地更改用户名update wp_users set user_login = "old_username", user_nicename = "new_username" where id = user_id; (用您的值替换旧的\\u用户名、新的\\u用户名和用户id)。

旧用户名仍将出现在其他一些表中,例如;old\\u username将评论状态更改为“已批准”;在表wp\\u commentmeta中,列meta\\u的值,但似乎没有必要更改它。

此外,我使用规则在Apache中执行了permalink重定向RedirectPermanent /blog/author/old_username /blog/author/new_username 避免404未找到的错误,因为该链接已被搜索引擎索引。

我还使用WordPress中的评论菜单更新了我在网站上留下的评论的用户名(不需要,但只是为了保持一致,避免访问者混淆)。

如果您使用多站点安装,则需要更改另一个配置,以保持网络管理员身份。这可以通过更改列的行来完成meta_key 这是有价值的site_admins (Add Wordpress MU Network Admin via Database), 例如,使用SQL语句,如update wp_sitemeta set meta_value = "a:1:{i:0;s:4:\\"bapt\\";}" where meta_id = 8; (请注意,值4应与用户名的长度匹配,在本例中为bapt,在您的情况下,ID 8可能不同)。注意:使用wp cli search replace功能,您无需担心长度:Why can't I update username through Wordpress API?

此外,如果您的网站开放进行用户名注册,例如BuddyPress,我认为其他用户将能够创建其他用户的旧用户名,并且您可能会遇到Apache重定向问题(在这种情况下,您需要禁用重定向或禁止注册旧用户名)。

SO网友:1.21 gigawatts

看起来你可以通过安装一个名为,Username Changer 然后在个人资料页面上更改。

看起来还可以手动进入数据库,打开wp\\u users表并手动更改。我不会发布修改mySQL数据库的说明,因为网上有很多,或者有一篇文章介绍了它here.

结束