特定のユーザーの特定のダッシュボードメニュー時間を削除したいです。現在、このメニューはプラグインメニュー項目でも構成されています。ユーザーから隠したい特定のプラグインはContact Form 7です。
これは、メニュー項目を隠すためにfunctions.phpファイルに追加されたコードです。
function remove_menus()
{
global $menu;
global $current_user;
get_currentuserinfo();
if($current_user->user_login == 'brian')
{
$restricted = array(__('Media'),
__('Links'),
__('Pages'),
__('Comments'),
__('Appearance'),
__('Plugins'),
__('Users'),
__('Tools'),
__('Settings'),
__('WPCF7') //this does not work
);
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}// end while
}// end if
}
add_action('admin_menu', 'remove_menus');
Contact Form 7 Pluginメニューを除いて、上記のコードにリストされているものはすべて隠れています。正しいプラグイン名を呼び出すにはどうすればいいですか?
ありがとう
これがあなたが必要とするコードです:
global $current_user;
get_currentuserinfo();
if ( $current_user->user_login === 'brian' )
remove_action( 'admin_menu', 'wpcf7_admin_menu', 9 );
あなた自身のコードを保持したい場合は、これを使用してください:
function remove_menus()
{
global $menu;
global $current_user;
get_currentuserinfo();
if($current_user->user_login == 'brian')
{
$restricted = array(__('Media'),
__('Links'),
__('Pages'),
__('Comments'),
__('Appearance'),
__('Plugins'),
__('Users'),
__('Tools'),
__('Settings'),
__('Contact') //this does not work
);
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}// end while
}// end if
}
add_action('admin_menu', 'remove_menus');
配列内のWPCF7をContactに変更しました。