WordPress 技巧:简化WordPress后台用户名称设置

来自:互联网
时间:2018-09-01
阅读:
免费资源网 - https://freexyz.cn/

WordPress 后台的个人信息中,默认情况下,除了用户名是注册时设置外,其他的如名字、姓氏、昵称和公开显示的名称都可以在后台个人资料中设置,具体如下图所示:

WordPress 技巧:简化WordPress后台用户名称设置 WordPress 第1张

其实只是用来写写博客,很少有人去填写这么多的东西,一般情况下都是填写昵称和设置公开显示为昵称。所以为了让页面看起来更加简洁,最好的方法就是把这些(名字、姓氏等)不太需要的信息项隐藏起来,看了一下 WordPress 源代码,名称设置这里竟然没有 filter,没有filter 那我们就用 JS 来隐藏,然后提交的时候,把显示的名称强制设置为昵称就好了。

实现方法:将以下代码添加到当前主题的 functions.php 文件中即可:

// 隐藏 姓,名 和 显示的名称,三个字段
add_action('show_user_profile','wpjam_edit_user_profile');
add_action('edit_user_profile','wpjam_edit_user_profile');
function wpjam_edit_user_profile($user){
    ?>
    <script>
    jQuery(document).ready(function($) {
        $('#first_name').parent().parent().hide();
        $('#last_name').parent().parent().hide();
        $('#display_name').parent().parent().hide();
        $('.show-admin-bar').hide();
    });
    </script>
<?php
}
//更新时候,强制设置显示名称为昵称
add_action('personal_options_update','wpjam_edit_user_profile_update');
add_action('edit_user_profile_update','wpjam_edit_user_profile_update');
function wpjam_edit_user_profile_update($user_id){
    if (!current_user_can('edit_user', $user_id))
        return false;
    $user = get_userdata($user_id);
    $_POST['nickname']      = ($_POST['nickname'])?:$user->user_login;
    $_POST['display_name']  = $_POST['nickname'];
    $_POST['first_name']    = '';
    $_POST['last_name']     = '';
}

最后的效果如下图,是不是清爽多了:

WordPress 技巧:简化WordPress后台用户名称设置 WordPress 第2张

经过测试,添加文中代码之后个人资料中确实只显示昵称,其他选项都隐藏起来。不过这里有一个小问题,如果原先站点设置公开显示的不是昵称,那么添加本文代码之后就无法修改公开显示了,文章中显示的作者名称还是我们以前设置的公开显示的名称。所以在添加本文代码之前,最好是先行把个人资料中的“公开显示为”设置为昵称,这样就完美了。

免费资源网 - https://freexyz.cn/
返回顶部
顶部