Register the post type 具有show_ui
设置为false。就像Codex中样本的修改版本一样:
function codex_custom_init() {
$labels = array(
\'name\' => \'Books\',
\'singular_name\' => \'Book\',
\'add_new\' => \'Add New\',
\'add_new_item\' => \'Add New Book\',
\'edit_item\' => \'Edit Book\',
\'new_item\' => \'New Book\',
\'all_items\' => \'All Books\',
\'view_item\' => \'View Book\',
\'search_items\' => \'Search Books\',
\'not_found\' => \'No books found\',
\'not_found_in_trash\' => \'No books found in Trash\',
\'parent_item_colon\' => \'\',
\'menu_name\' => \'Books\'
);
$args = array(
\'labels\' => $labels,
\'public\' => true,
\'publicly_queryable\' => true,
\'show_ui\' => false, // this is the change
// \'show_in_menu\' => true, // only works with show_ui true
\'query_var\' => true,
\'rewrite\' => array( \'slug\' => \'book\' ),
\'capability_type\' => \'post\',
\'has_archive\' => true,
\'hierarchical\' => false,
\'menu_position\' => null,
\'supports\' => array( \'title\', \'editor\', \'author\', \'thumbnail\', \'excerpt\', \'comments\' )
);
register_post_type( \'book\', $args );
}
add_action( \'init\', \'codex_custom_init\' );
注意:使用。。。
\'show_ui\' => true,
\'show_in_menu\' => false,
。。。如果导航到该链接,则不会获得菜单项,但会获得管理页面,因此可以将其从菜单中删除,但如果需要,仍有一个正常运行的默认编辑系统。
编辑:
您说过您创建了一个自定义页面来管理这些帖子。您必须已经为此注册了自己的管理页面。我不知道你为什么需要生成一个。换句话说,我不知道为什么您只需要删除菜单就需要生成这些默认管理页面。然而
function remove_add_new_menu_wpse_94776() {
remove_submenu_page(\'edit.php?post_type=book\',\'edit.php?post_type=book\');
remove_submenu_page(\'edit.php?post_type=book\',\'post-new.php?post_type=book\');
}
add_action(\'admin_menu\',\'remove_add_new_menu_wpse_94776\');
那就是
copied from another thread, 从函数名的数字后缀可以看出。上述情况可能会导致整个菜单仅在适当的情况下折叠到顶层,除非有其他菜单,这可能是您拥有的,但为了完整性,这里是一种虚拟菜单。
function remove_only_add_new_wpse_95797() {
global $submenu;
add_submenu_page(
\'edit.php?post_type=book\',
\'test\',
\'test\',
\'edit_posts\',
basename(\'test\'),
\'test_cb_wpse_95797\'
);
}
function test_cb_wpse_95797() {
echo \'hi\';
}
add_action(\'admin_menu\',\'remove_only_add_new_wpse_95797\');