我试图在除了一个(我自己)之外的所有用户中隐藏Wordpress中的某些管理菜单项。
我可以找到各种教程,但它们大多隐藏在用户角色而不是用户身上。
我从Wordpress codex中找到了这个:
<?php
function custom_menu_page_removing() {
remove_menu_page( $menu_slug );
}
add_action( 'admin_menu', 'custom_menu_page_removing' );
?>
但是我并不完全理解它,而且我认为我需要添加一些PHP来实质上让代码说:
如果用户不是shaun@seedcreativity.co.uk(我!)
然后删除这些菜单项:
ItemID 1,ItemID 2,ItemID 3等......
有人可以帮忙吗?
答案 0 :(得分:2)
您可以尝试使用此代码。
function remove_menus(){
$current_user = wp_get_current_user();
if( 'shaun@seedcreativity.co.uk' !== $current_user->user_email){
remove_menu_page( 'item1' );
remove_menu_page( 'item2' );
}
}
add_action( 'admin_menu', 'remove_menus' );
item1,item2将是您的页面名称 例如 http://test.com/wp-admin/admin.php?page=item1 http://test.com/wp-admin/admin.php?page=item2
答案 1 :(得分:1)
您可以删除给定电子邮件的帖子菜单:
function custom_menu_page_removing() {
if ( get_currentuserinfo()->user_email != 'shaun@seedcreativity.co.uk' )
remove_menu_page( 'edit.php' );
}
add_action( 'admin_menu', 'custom_menu_page_removing' );
如果用户可以猜出正确的网址,则不会阻止用户使用已移除的网页。 /wp-admin/edit.php
答案 2 :(得分:0)
您可以检查用户ID:
add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
global $user_ID;
if ( $user_ID != 1 ) { //your user id
remove_menu_page('edit.php'); // Posts
remove_menu_page('upload.php'); // Media
remove_menu_page('link-manager.php'); // Links
remove_menu_page('edit-comments.php'); // Comments
remove_menu_page('edit.php?post_type=page'); // Pages
remove_menu_page('plugins.php'); // Plugins
remove_menu_page('themes.php'); // Appearance
remove_menu_page('users.php'); // Users
remove_menu_page('tools.php'); // Tools
remove_menu_page('options-general.php'); // Settings
remove_menu_page('edit.php'); // Posts
remove_menu_page('upload.php'); // Media
}
}