从管理员中删除“帖子”,但显示自定义帖子


8

签出后:http : //codex.wordpress.org/Function_Reference/remove_menu_page
我成功使用以下代码从菜单中隐藏了一些内容:

add_action( 'admin_menu', 'my_remove_menu_pages' );

function my_remove_menu_pages() {
    remove_menu_page('link-manager.php');
    remove_menu_page('tools.php');
    remove_menu_page('users.php');
    remove_menu_page('edit-comments.php');  
}

但是,“帖子页面”和自定义帖子类型页面似乎都在上运行/wp-admin/edit.php

因此,我正在寻找一种隐藏帖子菜单栏的方法,但仍显示我添加的自定义帖子类型的菜单。

Answers:


11

进行搜索后,我发现Chris_O给出了很好的答案。我在那里甚至提出了一个jQuery解决方案。

无论如何,该功能remove_menu_page('edit.php');仅会删除“帖子”菜单。

但是,正如我们从克里斯的答案中学到的,remove_menu_page('edit.php?post_type=athletes');删除了“自定义帖子类型”菜单。

要真正阻止对URL的访问(因为我们只是隐藏菜单项),请检查以下问答:阻止对作者和订阅者的管理访问?


1
当然,这athletes是我的自定义帖子类型的名称...根据需要进行调整。
brasofilo 2012年

有用!凉!感谢您展示如何搜索!
Alisso

我可以选择两个正确的答案吗?
Alisso

@Alisso不行。您只能选择一个。由于两者在某种程度上显示了相同的解决方案,因此您可能希望选择一个具有全部(或大部分)所需详细信息的解决方案。:)
its_me 2012年

1
此功能不会删除任何内容,只是将其隐藏。

2

我只是尝试过,remove_menu_page('edit.php');只删除了帖子顶级菜单。

我所有其他自定义帖子类型(还有很多)仍然可以正常工作。我有一种感觉,这是因为它直接查询了准确的数据段,而不是文件的基本名称。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.