Answers:
function wpse28782_remove_menu_items() {
if( !current_user_can( 'administrator' ) ):
remove_menu_page( 'edit.php?post_type=your_post_type' );
endif;
}
add_action( 'admin_menu', 'wpse28782_remove_menu_items' );
your_post_type
应该是您实际帖子类型的名称。
编辑-
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
编辑2-
对于插件,似乎只需要page=
查询var。要注意的另一件事是优先级,它是的第三个参数admin_menu
add_action
。它必须设置得足够低(数字越大,优先级越低),以便插件已经将自己添加到菜单中。
function wpse28782_remove_plugin_admin_menu() {
if( !current_user_can( 'administrator' ) ):
remove_menu_page('cart66_admin');
endif;
}
add_action( 'admin_menu', 'wpse28782_remove_plugin_admin_menu', 9999 );
wpse28782_remove_menu_items
您是随机选择的函数名称还是特定于WP?...。此外,我将如何扩展该构想并针对其他CPT,或者就此而言其他本机WP菜单?再次感谢您的帮助!
remove_menu_page
呼叫以删除其他CPT以及其他菜单项,请参见我的编辑。
remove_menu_page('cart_plugin');
您也可以使用Adminimize插件。该插件具有用于所有帖子类型,元框的选项,以及更多隐藏在不同角色上的选项。没有编码。
要为所有Shop Manager用户角色(Wordpress 5.1.1)在顶级菜单“产品”下隐藏Woocommerce子菜单:
function remove_menus_shopmgr(){
// If the current user is a shop manager
if ( current_user_can('shop_manager') ) {
//removes Products > Categories submenu
remove_submenu_page( 'edit.php?post_type=product','edit-tags.php?taxonomy=product_cat&post_type=product' );
//removes Products > Tags submenu
remove_submenu_page( 'edit.php?post_type=product','edit-tags.php?taxonomy=product_tag&post_type=product' );
}
}
add_action( 'admin_menu', 'remove_menus_shopmgr', 999 );
如果remove_menu_page
不适合您(不适合我),则可以删除WordPress,而不是删除菜单,而是告诉WordPress不要显示帖子类型的菜单:
function wpse28782_hide_menu_items() {
if( !current_user_can( 'administrator' ) ) {
$post_type = get_post_type_object( 'your_post_type');
if ($post_type) {
$post_type->show_in_menu = false;
}
}
}
add_action( 'admin_menu', 'wpse28782_hide_menu_items', 99 );