Buddypress 社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了管理员的用户登录名是很不安全,所以我们要让显示名与用户名区别开。

一、修改用户个人页面中的 @名称

找到 Buddypress 模板文件下的 member-header.php 文件 (插件路径:buddypressbp-templatesbp-legacybuddypressmemberssingle),拷贝到主题对应的目录下。

查找 member-header.php 文件中的:

  1. <?php bp_displayed_user_mentionname(); ?>

替换为:

  1. <?php bp_displayed_user_fullname(); ?>

修改了这一步还不行,再到编辑用户页面把 「公开显示为」 设置为要显示的名称,这样用户个人页面中的 @名称就显示了选择后的名称。

二,把链接中显示的名称与用户登录名区分开

这一步我们需要修改数据库,但是很简单,不用被吓着。

1 、进入到当前网站的数据库中,找到 wp_users 中需要修改的用户,一般都是管理员了,点击 「编辑」

2 、在编辑用户数据页面我们可以看到用户名在两处有显示,表分别为 user_login 和 user_nicename,即为用户登录名和用户昵称。 WP 注册过程中这两个表的数据是一样的,在 WP 页面中是更改不了,而编辑用户页面中的 「昵称」 与 user_nicename 不是一个东西,所以只能修改数据库,把 user_nicename 表中的值修改成与 user_login 不同就可以。

现在链接中显示的名称就只是 user_nicename 这个数据表中的值,这样就大大提高了管理员账号的安全性。

除了 Buddypress 中会直接显示用户登录名,很多网站中会把作者的文章都列出来,而链接中也会显示用户登录名,也因为此很多网站没有作者链接,如果修改 user_nicename 表与 user_login 中的值区分开,这样是不是很好。