如何在WordPress仪表板中更改与“用户”相关的标签

时间:2020-04-16 作者:Alexnl

我希望更改与Users 键入到Participants. 实例Add New Participant, Edit Participant, 等,类似于更改posts 将类型标签张贴到News 或者其他名字。

1 个回复
最合适的回答,由SO网友:simongcc 整理而成

您可以使用admin_menu 过滤器和global variables $子菜单和$菜单修改现有菜单文本,示例如下。(注意,列表中似乎没有记录$子菜单)

以下代码被证明可以在以下假设下工作:

无插件干扰(管理菜单调整或相关插件)

  • 主题未触及任何相关区域
  • 以下代码放置在主题函数中。php
  • add_action( \'admin_menu\', \'q364210_modify_menu_name\', 0 );
    function q364210_modify_menu_name() {
        global $submenu, $menu;
    
        // you may var_dump($submenu) or ($menu) here to shows the array information to find out which one is registered in the variable and then add the test like following
    
        // main menu (top)
        foreach ($menu as $main_menu => $single_menu) {
            foreach( $single_menu as $key => $menu_item ) {
                if( $menu_item === \'Users\' ) {
                    $menu[$main_menu][$key] = \'Participants\';
                }
            }
        }
    
        // reset tempoary variable for next use avoid conflicts
        unset($menu_item);
        unset($key);
    
        // the example here use if for testing, you may also use switch clause to test if there are multiple pages, eg \'options-general.php\' and so on
    
        // submenu
        foreach ($submenu as $submenu_file => $submenu_items) {
            if( $submenu_file === \'users.php\' ) {
                foreach ($submenu_items as $key => $menu_item) {
                    if( $menu_item[0] === \'All Users\' ) {
                        $submenu[$submenu_file][$key][0] = \'All Participants\';
                    }
    
                    if( $menu_item[0] === \'Add New\' ) {
                        $submenu[$submenu_file][$key][0] = \'Add New Participant\';
                    }
                }
            }
        }
    }
    
    或者你也可以找到任何管理菜单插件进行调整。

    编辑:进一步回复询问者关于进一步定制可能性的询问。

    上述方法当然是完美地更新菜单上的标签。然而,可能需要对相关页面内的所有标签进行复杂的定制。

    是否也可以在wp admin/Users上更改用户。php页面(添加新按钮旁边?

    简而言之,答案是否定的。

    答案很长。。。

    这取决于你愿意花多少时间和付出多少努力。你可以使用add_menu_page()add_submenu_page 添加您自己的菜单。然后,您可以基于原始文件创建这些文件,但您必须处理一些文件和情况,包括用户列表、添加用户、编辑用户和配置文件(当用户不是管理员时)。你需要仔细测试它。(用于保存数据部分,而UI显示只是CSS、JS的问题)

    要达到这个效果,需要做大量的工作。将来可能有必要提到这个功能的核心术语,这样他们就可以在这个地方设置一些钩子,以受益于不同的情况和视觉需求。