問題描述

退房後: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');  
}

但是,”posts page” 和自定義帖子類型頁面似乎都在/wp-admin/edit.php 上運行。

所以我正在尋找一種隱藏菜單欄的方式,但仍顯示我添加的自定義帖子類型的菜單。

最佳解決方案

做這個 search,我發現了 Chris_O 的 this fine answer 。甚至還有一個 jQuery 解決方案。

無論如何,功能 remove_menu_page('edit.php'); 只刪除帖子菜單。

但是,當我們從 Chris 回答中學習時,remove_menu_page('edit.php?post_type=athletes'); 將刪除 「自定義帖子類型」 菜單。

要真正阻止對 URL 的訪問,因為我們只是隱藏菜單項,請查看以下 Q& A:Blocking Administrative Access to Authors and Subcribers?

次佳解決方案

我剛剛嘗試,remove_menu_page('edit.php'); 只會刪除帖子頂級菜單。

我所有的其他自定義帖子類型 (和我有很多) 仍然可以正常工作。我有一種感覺,這是因為它直接查找完全是 slug,而不是文件的 basename 。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。