2

我是 Wordpress 插件创建的新手,但仍在尝试获取操作挂钩或过滤器挂钩的概念。

我为“主持人”创建了一个自定义角色。我想要这个角色:
- 负责具有特定角色的用户,例如订阅者。
- 能够更改用户密码。
- 无法更改其他用户角色。

问题是这样的:为了能够更改其他用户的密码,版主需要访问用户个人资料页面。但是,在用户个人资料页面上,版主可以更改其他用户角色。我可以通过更改 wp-admin/user-edit.php 来隐藏它,但我认为最好通过插件来完成。那么,如何使用插件隐藏/修改“角色”选择?

谢谢您的帮助。

为了更清楚,我附上了一张图片。 在此处输入图像描述

4

1 回答 1

1

没有钩子可以删除它。它必须用 CSS 和/或 jQuery 来解决。

在这里,CSS 和 jQuery 的作用几乎相同,您可以选择其中一种,也可以同时使用。

必须根据current_user_can您的角色/能力设置进行调整。

请注意,钩子admin_head可以有后缀,因此它只会在该特定/wp-admin/WP-PAGE.php地址中运行。

add_action( 'admin_head-user-edit.php', 'so_13598192_remove_roles_dropbox' );

function so_13598192_remove_roles_dropbox()
{
    // Admins can edit that, exit without printing scripts
    if ( current_user_can( 'administrator' ) )
        return;
    ?>
        <style>
            label[for=role], #role
            {
                display:none;
            }
        </style>
        <script>
            jQuery(document).ready(function($)
            {     
                $('label[for=role]').parent().parent().remove();      
            });
        </script>
    <?php
}
于 2012-11-28T13:45:53.227 回答