重新生成USER_Nicename列

时间:2016-05-31 作者:Anders Stensaas

我正在努力解决数据库问题。我控制了其他人创建的解决方案。

在数据库中插入/更新用户时,早期的开发人员编写了一个自定义数据库脚本来更新wp_users 表,而不是通过WordPress的API。他们发现他们会使用user_nicename 用于存储用户的名字的列,以及display_name 用于存储用户的姓氏。这些名称包含英语字母表以外的字符。

脚本写入这些列,我们最终得到user_nicename 与HaraldÅge类似,它包含空格和非英语字符。当使用WordPress的API时,它试图使user_nicename URL友好,但当使用数据库脚本直接插入/更新用户时,WordPress对此没有任何说明。

现在我们有一个部分损坏的数据库,不支持URLuser_nicenames

我的问题是:有没有办法重新生成这些URL友好的字段?

我想可以编写一个自定义php脚本,逐个遍历所有用户,并尝试更新user_nicename 或者让WordPress自己处理。还有其他方法吗?

而且,将来,我们希望将用户的名字和姓氏存储在wp_usermeta 表,就像WordPress一样。

1 个回复
SO网友:vancoder

显而易见的方法是编写一个自定义的WP-CLI脚本来运行该表,提取名字和姓氏,使用sanitize_title 创建新的nicename并更新记录。您还需要同时复制您提到的wp\\u usermeta中的名字和姓氏。

我不确定我在告诉你任何你还不知道的事情。

相关推荐

如何从USERS-edit.php中删除颜色选择器代码

我知道我不应该改变Wordpress的核心。但如果我想在“用户编辑”中使用仪表板用户配置文件页面。php和删除大块代码(如颜色选择器)的方法。从第259行到第336行-我想全部删除。<?php if ( ! ( IS_PROFILE_PAGE && ! $user_can_edit ) ) : ?> <tr class="user-rich-editing-wrap"> <th scope="