从管理面板中删除“个人资料”管理员菜单

时间:2010-12-24 06:28:40

标签: wordpress-plugin wordpress

我正在使用WordPress,我想完全删除“个人资料”菜单选项

任何人都知道如何实现这一目标?

由于

3 个答案:

答案 0 :(得分:5)

为了完整起见,这里是如何以编程方式进行的...

// Run the function on admin_init
add_action('admin_init', 'remove_profile_menu');

// Removal function
function remove_profile_menu() {
  global $wp_roles;

  // Remove the menu. Syntax is `remove_submenu_page($menu_slug, $submenu_slug)`
  remove_submenu_page('users.php', 'profile.php');

  /* Remove the capability altogether. Syntax is `remove_cap($role, $capability)`
   * 'Read' is the only capability subscriber has by default, and allows access
   * to the Dashboard and Profile page. You can also remove from a specific user
   * like this:
   * $user = new WP_User(null, $username);
   * $user->remove_cap($capability); 
   */
  $wp_roles->remove_cap('subscriber', 'read');
}

答案 1 :(得分:2)

Profiless插件在订阅者级别上执行此操作。 如果您希望为其他群组执行此操作,则应该将其与Capability manager插件结合使用。

答案 2 :(得分:2)

我知道这已经很晚了,但我偶然发现了这一点,并认为我会加入它。这确实删除了子菜单配置文件菜单项,但没有删除菜单配置文件项。对于像我这样创建完全自定义配置文件页面的人,我不希望我的用户访问profile.php页面。所以这段代码将适用于此:

function remove_profile_menu() {

    remove_submenu_page('users.php', 'profile.php');
    remove_menu_page('profile.php');
}

add_action('admin_menu', 'remove_profile_menu');

如果您只想为某些功能执行此操作....请使用以下代码:

function remove_profile_menu() {

    // Only the Admin can see the profile menu
    if(!current_user_can('update_core')) {

    remove_submenu_page('users.php', 'profile.php');
    remove_menu_page('profile.php');

    }
}

add_action('admin_menu', 'remove_profile_menu');

您可以使用current_user_can()函数来确定要查看菜单项的人。