Как удалить (спрятать) ненужные пункты в админке WordPress

Здравствуйте,  уважаемые читатели! Сегодня будет небольшая статья в которой я вам расскажу о том как скрыть или удалить ненужные пункты меню в админке WordPress. И как обычно перед тем, как непосредственно приступить к  рассмотрению данных возможностей движка wordpress, скажу пару слов о том зачем вообще удалять какие-либо пункты с меню админки вордпресс, и в каких случаях это может понадобиться. И как всегда вся сказанная мною информация — это исключительно мой опыт, который я приобрел в процессе создания проектов на заказ. Итак начнем!!!

Как вы наверняка знаете, wordpress — CMS система с помощью которой можно создать как простой блог (для чего, кстати, она и предназначалась) так и более сложные корпоративные сайты и даже интернет магазины.  Кстати, кто не знал, по данным Ruward:Track на  2 квартал 2015  года CMS WordPress занимает более 31% всего рынка рунета, то есть почти треть всех сайтов в рунете сделаны на wordpress.  Хотя бы поэтому, я думаю,  данную систему нужно изучать. Ну да ладно, вернемся к теме статьи.

Так вот, из-за того, что wordpress достаточно гибкий и расширяемый   очень часто приходится как-бы подгонять его админку   под конкретные нужны конкретно разработанного проекта.  То есть, что я имею ввиду? К примеру, когда мы разрабатываем какой-либо корпоративный сайта нам как правило не нужно использовать такую функцию как комментирование.  В основном на корпоративных сайтах нет комментирования материалов. Поэтому желательно перед тем как отдавать сайт заказчику,  скрыть данный пункт меню в админке, чтобы у заказчика не возникало лишних вопросов по данному пункту. Так же я в своей практике очень часто скрываю такие пункты как «Инструменты» и «Плагины» (особенно если сайт сложной структуры), чтобы заказчик  не лазил туда и случайно ничего не сломал на сайте.  И это, кстати,  очень сильно помогает, когда учишь заказчика пользоваться админкой  проекта, реально избавляешь себя от лишних объяснений, типа зачем нужны плагины и почему туда лучше не лезть : ) . В общем, как-то так, а теперь давайте, конкретно я покажу вам,  что нужно сделать, чтобы скрыть некоторые пункты меню в админке wordpress.

Удаляем (скрываем) пункты меню!

Как это ни странно, но удаление или скрытие лишних пунктов меню админки wordpress сводится буквально к одной строчке кода, который нам нужно прописать в файле functions.php нашей темы:

<?php remove_menu_page('slug') ?>

Где, как вы понимаете, remove_menu_page — функция, которая в качестве параметра принимает слаг (ярлык) пункта меню, которого нужно удалить. Как же получить ярлык пункта  меню?  Делается это простым наведением курсора мыши на нужный вам пункт меню, после чего внизу браузера вам покажется путь к php скрипту (он же и слаг) отвечающего за данный пункт:

удаляем-меню-min

Вот именно этот скрипт нам нужно скрыть используя remove_menu_page() функцию. Вот так вот это выглядит на примере:

remove_menu_page('edit-comments.php')

Тоже самое если вам нужно удалить несколько пунктов меню:

remove_menu_page( 'plugins.php' );  //Плагины
remove_menu_page( 'users.php' );    //Пользователи
remove_menu_page( 'tools.php' );    //Инструменты

Хотя я чаще всего оформляю все в виде функции, которую вызываю по action:

function my_remove_menu(){
     remove_menu_page( 'plugins.php' );  //Плагины
     remove_menu_page( 'users.php' );    //Пользователи
     remove_menu_page( 'tools.php' );    //Инструменты
}
add_action( 'admin_menu', 'my_remove_menu' );

Удаляем подпункты меню админки wordpress

Это мы с вами рассмотрели как удалять пункты меню, но у нас еще есть и под пункты, как с ними поступать? Иногда приходится и от них избавляться. Если говорить о моей практике, то из подпунктов я часто удаляю «Метки», так как в корпоративных сайтах их тоже, как правило, не используют.

Для удаления подпунктом меню вордпресс используется функция — remove_submenu_page()

     remove_submenu_page(slug_menu, slug_submenu);

Данная функция принимает два параметра: slug_menu — ярлык основного пункта меню; slug_submenu — ярлык подпункта, который нужно удалить. Давайте на примере меток рассмотрим как это делается на практике. Итак нам нужно скрыть подпункт «Метки», первым делом узнаем ярлык основного (родительского) пункта, для меток это «Записи» в которой слаг — edit.php, далее наводим курсор мыши на пункт «Метки» и узнаем слаг (ярлик) пункта меток:

Screenshot_1-min

Ну и далее передаем данные параметры в описанную выше функцию:

     remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=post_tag');

Все, после этого подпункт «Метки» пропадет с нашего меню. Вот так вот просто все делается! Так же по аналогии с удалением пунктов меню, если вам нужно удалить несколько подпунктов вы можете оформить все в виде функции которую можно вызывать по action, как это делается я описал выше.

На сегодня у меня все, надеюсь вам было полезно почитать данный материал. Удачи!!!