Как в wordpress удалить пункт меню в админке?
Скажите как в админке вордпресс можно удалить пункты меню? Я реализовал свой функционал для отправки email сообщений. При этом я использую buddypress который так же предлагает с новой версии вкладку с сообщениями. Как мне удалить этот пункт в админке wordpreess?
Приведу пример как скрыть(именно скрыть, так как функционал не удалится а останется) стандартные пункты меню в админке:
function onwp_remove_menus(){ remove_menu_page( 'index.php' ); //Консоль remove_menu_page( 'edit.php' ); //Записи remove_menu_page( 'upload.php' ); //Медиафайлы remove_menu_page( 'edit.php?post_type=page' ); //Страницы remove_menu_page( 'edit-comments.php' ); //Комментарии remove_menu_page( 'themes.php' ); //Внешний вид remove_menu_page( 'plugins.php' ); //Плагины remove_menu_page( 'users.php' ); //Пользователи remove_menu_page( 'tools.php' ); //Инструменты remove_menu_page( 'options-general.php' ); //Настройки } add_action( 'admin_menu', 'onwp_remove_menus' );
Если вам нужно скрыть не стандартный пункт(добавленный плагином или шаблоном), то для этого вам нужно посмотреть url и скопировать его часть, например у нас url скрываемого пункта меню:
http://ваш_сайт.ру/wp-admin/edit.php?post_type=bp-email
Тогда нам нужно чуть подправить код выше что бы скрыть этот пункт меню:
function onwp_remove_menus(){ remove_menu_page( 'edit.php?post_type=bp-email' ); // Вкладка email buddypress } add_action( 'admin_menu', 'onwp_remove_menus' );
Обращаю ваше внимание что пункты в данном случае НЕ удаляются, а скрываются(то есть доступ можно получить по ссылке).
Для удаления под пунктов меню используется функция:
remove_submenu_page( 'options-general.php', 'options-permalink.php' );
В которой 1й параметр — Название пункта меню(его slug), подпункт которого нужно удалить. 2й — Название подпункта меню(его слаг), который нужно удалить.