5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 165|回复: 1

[教程] 简化隐藏 WordPress 后台用户管理中的选项名称设置

[复制链接]

654

主题

766

帖子

7444

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7444
发表于 2021-6-4 22:32:18 | 显示全部楼层 |阅读模式
默认情况下,WordPress 让用户可以在后台设置:姓,名,昵称,然后选择显示的名称。大概就是下图这个样子:

WordPress 技巧:简化 WordPress 后台用户名称设置-Npcink
其实只是用来写写博客,很少的编辑会填这么多的东西,所以最好的方法就是把他们隐藏起来,看了一下 WordPress 源代码,名称设置这里竟然没有 filter,没有filter 那就用 JS 来隐藏,然后提交的时候,把显示的名称强制设置为昵称就好了。

最后的代码如下,同样复制到当前主题的 functions.php 文件即可:

  1. // 隐藏 姓,名 和 显示的名称,三个字段
  2. add_action('show_user_profile','wpjam_edit_user_profile');
  3. add_action('edit_user_profile','wpjam_edit_user_profile');
  4. function wpjam_edit_user_profile($user){
  5. ?>
  6. <script>
  7. jQuery(document).ready(function($) {
  8. $('#first_name').parent().parent().hide();
  9. $('#last_name').parent().parent().hide();
  10. $('#display_name').parent().parent().hide();
  11. $('.show-admin-bar').hide();
  12. });
  13. </script>
  14. <?php
  15. }
  16. //更新时候,强制设置显示名称为昵称
  17. add_action('personal_options_update','wpjam_edit_user_profile_update');
  18. add_action('edit_user_profile_update','wpjam_edit_user_profile_update');
  19. function wpjam_edit_user_profile_update($user_id){
  20. if (!current_user_can('edit_user', $user_id))
  21. return false;
  22. $user = get_userdata($user_id);
  23. $_POST['nickname'] = ($_POST['nickname'])?:$user->user_login;
  24. $_POST['display_name'] = $_POST['nickname'];
  25. $_POST['first_name'] = '';
  26. $_POST['last_name'] = '';
  27. }
复制代码
回复

使用道具 举报

654

主题

766

帖子

7444

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7444
 楼主| 发表于 2021-6-4 22:35:37 | 显示全部楼层
配色方案部分有个钩子,能直接去掉
http://bbs.5ucms.com/thread-957-1-1.html
其他的钩子未发现 后边再补充
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2021-7-29 14:34 , Processed in 0.291763 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表