我正在使用WordPress,我想完全删除“个人资料”菜单选项
任何人都知道如何实现这一目标?
由于
答案 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()函数来确定要查看菜单项的人。