Иногда требуется скрыть (или убрать) некоторые пункты меню управления в админпанели (в консоли). Причин для этого может быть масса! например, когда даётся временный (или постоянный) доступ в панель управления: авторы, когда выкладывают свои статьи, могут что-то отрегулировать так, что ухлопаешь много времени для восстановления прежней работы сайта…
…или когда показывают клиенту, которому создают сайт, некоторые рычаги управления: в этих случаях уместнее скрыть какие-то важные настройки. От греха))
Для исключения некоторых пунктов меню в админке, существует небольшой код, который рассмотрим ниже: (а также, может кому пригодится, дам ещё некоторые примеры кодов…)
убираем пункты меню из админки
Вот код, который прописывается в файл функций (можно в какой-то личный плагин, – как создать такой плагин, описано ТУТ).
В коде даны комментарии к каждому пункту “исключения”…
…если какие-то пункты меню исключать не следует (хотите оставить в админке), то их можно запросто закомментировать (для тех, которые не знают как и для чего комментируют программный код: php, html или css… читайте этот пост)
/** УБИРАЕМ ПУНКТЫ МЕНЮ ИЗ АДМИНКЕ **/
add_action('admin_menu', 'remove_menus_ssh');
function remove_menus_ssh(){
global $menu;
$restricted = array(
__('Dashboard'), //главная страница админки (консоль управления)
__('Posts'), //пункт меню "Записи"
__('Media'), //пункт меню "Медиафайлы" (картинки, видео и пр.)
__('Links'), //в общем-то не нужный, пункт меню "Ссылки" - настраивается единожды
__('Pages'), //пункт меню "Страницы"
__('Appearance'), //пункт меню "Внешний вид"
__('Tools'), //пункт меню "инструменты" — "импорт", "экспорт" и проч.
__('Users'), //пользователи сайта
__('Settings'), //пункт меню "Настройки". Просто необходимо скрыть...
__('Comments'), //комментарии
__('Plugins') //пункт меню "Плагины"
);
end ($menu);
while (prev($menu)){
$value = explode(' ', $menu[key($menu)][0]);
if( in_array( ($value[0] != NULL ? $value[0] : "") , $restricted ) ){
unset($menu[key($menu)]);
}
}
}
/** УБИРАЕМ ПУНКТЫ МЕНЮ ИЗ АДМИНКЕ **/
удаляем пункты меню исключая администратора
возможно ещё одно решение (я не буду много писать об отличиях показанных кодов):
Код для файла функций:
/** УБИРАЕМ ПУНКТЫ МЕНЮ ИЗ АДМИНКИ - рабочая вариация **/
add_action( 'admin_menu', 'ats_remove_menu_items' );
function ats_remove_menu_items() {
if ( !current_user_can( 'administrator' ) ) {
// показываем пункты-ярлыки которые удаляем
remove_menu_page( 'themes.php' ); // Внешний вид
remove_menu_page('edit-comments.php'); // Удаляем пункт "Комментарии"
}
}
/** УБИРАЕМ ПУНКТЫ МЕНЮ ИЗ АДМИНКИ **/
Строка определяет исключения вывода меню у всех, кроме администратора.
if ( !current_user_can( 'administrator' ) )
код
}
Варианты отключения пунктов меню:
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' ); // Настройки
как убрать подпункты – дочерние вкладки меню
В подменю наводим порядок по такой схеме Вордпресс:
remove_submenu_page( $menu_slug, $submenu_slug );
То есть в показанный выше код, возможно добавить такую строку, основанную на схеме чуть выше…
remove_submenu_page( 'themes.php', 'widgets.php' ); // виджеты
…удалим только подменюшку “Виджеты”. и т.д.
Как понимаете, первый параметр themes.php
призван к организации пункта меню “Внешний вид” и прочие составляющие…
А прочие составляющие подменю можно подобрать из этих:
Dashboard: index.php
Posts:edit.php
Media: upload.php
Links: link-manager.php
Pages: edit.php?post_type=page
Comments: edit-comments.php
Custom Post Types: edit.php?post_type=your_post_type
Appearance: themes.php
Plugins: plugins.php
Users: users.php
Tools: tools.php
Settings: options-general.php
Settings in the Network Admin pages: settings.php
Естественным образом код удаления меню и подменю можно организовать в один – сгрупировав как-то строки, понятности для…
убираем админбар – меню настроек полностью
Вот код, который скроет меню настроек админбара полностью, – доступ к настройкам в админке будет закрыт для всех пользователей, кроме администратора!
/** УБИРАЕМ АДМИНБАР для всех КРОМЕ АДМИНИСТАТОРА **/
add_action('after_setup_theme', function(){
if ( ! is_admin() && ! current_user_can('manage_options') )
show_admin_bar( false );
});
/** УБИРАЕМ АДМИНБАР для всех КРОМЕ АДМИНИСТАТОРА **/
Ну а для тех юзеров-охальников, которые пытаются заполучить доступ к странице входа в админку, используя прямую ссылку типа:
https://имя_домена/wp-admin/
…существует другой чудо-код:
как настроить редирект с wp-admin на главную страницу сайта
…код может пригодится, когда срываете страничку входа на сайт.
/** редирект с wp-admin */
add_action( 'init', 'blockusers_init' );
function blockusers_init() {
if ( is_admin() && ! current_user_can( 'administrator' ) &&
! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
wp_redirect( home_url() );
exit;
}
}
/** редирект с wp-admin */
В качестве бонуса:
как убрать неиспользуемые виджеты из админки
/** уборка неиспользуемых виджетов */
add_action('widgets_init', 'unregister_basic_widgets' );
function unregister_basic_widgets() {
//unregister_widget('WP_Widget_Search'); // Поиск
//unregister_widget('WP_Widget_Text'); // Текст
//unregister_widget('WP_Widget_Categories'); // Категории
//unregister_widget('WP_Widget_Pages'); // Виджет страниц
unregister_widget('WP_Widget_Calendar'); // Календарь
unregister_widget('WP_Widget_Archives'); // Архивы
unregister_widget('WP_Widget_Links'); // Ссылки
unregister_widget('WP_Widget_Meta'); // Мета виджет
unregister_widget('WP_Widget_Recent_Posts'); // Последние записи
unregister_widget('WP_Widget_Recent_Comments'); // Последние комментарии
unregister_widget('WP_Widget_RSS'); // RSS
unregister_widget('WP_Widget_Tag_Cloud'); // Облако меток
unregister_widget('WP_Nav_Menu_Widget'); // Меню
}
/** уборка неиспользуемых виджетов */
Я для примера закомментировал некоторые строки… Т.е закомментированная строка – открывает показ виджета в админке.
На этом у меня на сегодня всё))
Online консультация по настройкам и созданию сайтов на WordPress
mihalica.ru !
Не скрывается пункт меню “Внешний вид”, все остальные пункты скрываются. В чём может быть причина?
Попробуйте так:
Но для реализации существует ещё вариант кода, –
…я там добавил несколько пояснений в статье: прочтите…
PS\ если будете продолжать внаглую проставлять ссылки – я Вас просто заблокирую…
Второй код работает, спасибо! Но из админ бара все-равно можно попасть в “Консоль”, “Темы”, “Виджеты”, “Меню”… Как вариант удалить админ бар для всех, кроме админа.
PS Если у вас имеется при комментировании поле: “адрес сайта”, зачем так злиться, когда люди оставляют адрес своего сайта? Тем более, что заблокировать меня вы не сможете, если только не сделаете комментирование только для зарегистрированных пользователей.
Я не злюсь – я веселюсь… Этакая вязкость в упорстве (причём бессмысленном) право – весела!!
Это просто неприлично, если слышали о таком понятии…
Забанить смогу, если постараюсь…
Но Вы правы (для тех, которые не слышат чувство такта) – добавлю “url блога” !!
PS Ваш код удаления админ бара, приводит к фатальной ошибке. Предлагаю вам свой код удаления админ бара, для всех кроме админа:
Это, конечно, похвально ! что Вы принимаете участие… пытаетесь выявить ошибки… Здорово!
Однако не стоит забывать, что пока что Вы не нашли ни одной… Хотя ошибки у всех всегда были, есть и будут.
К чему это я? а к тому, что:
нужно бы внимательнее относиться к своему файлу функций и пр. – Вы не думали, что могут быть конфликты лично с “Вашей” стороны?
Данный в статье код, ни к каким фатальным, прости, Господи, ошибкам не приводит: проверялось не единожды на многих сайтах…
Об разнице… в “Вашем” коде, говорить не стану: получится длинно.
Вы хотите сказать, что представленные в статье коды ваши?
Не буду размещать тут ссылку, откуда вы слизали инфу, а то забаните! )))))))))
за это не забаню:
–
я ничего не хочу сказать (и не хотел) по этому поводу…
Вообще, это никакой не авторский код (функция) – но банальные фильтры, принцип которых замечательным образом описан в кодексе WP! и их вряд ли уместно всерьёз считать авторскими.
Касаемо авторских функций… ну так повелось в приличном обществе – принято всегда обозначать “писателя”: что лично я и делаю, причём с удовольствием… (если знаю автора).
А чтобы дать пример “фильтра” в статье, вовсе необязательно, как Вы выразились “слизать” !! …у мало-мальски начинающего веб мастера этого добра в запасниках до чёрта!
also:
В “Вашем” – я всего-то подчёркивал (и отнюдь не впервые) относиться более внимательно к своему файлу функций (к ошибкам!), и всего делоф!
…мне надоело тратить время на эту бессмысленную болтовню с душком: ступайте в соцсети, там и “режьте” свою правду матку…
И вообще: под ником пускаться в упрёки – не есть корошо! вот за это забаню!
Мне пока что все эти “сокрытия” тёмный лес. В том смвсле, что не то чтоб от пользователей что-то закрывать, а от себя бы ненароком не удалить какую регулировку))
Мне эти тайны админки, к сожалению, пока и не требуются.
А Вы обещали показать как нужно в сайдбаре исключать цикличные ссылки: у меня рубрики по “готовке” и “всяким женско-детским штучкам” – чтоб ссылка переставала работать на некоей ссылаемой статье (из одной рубрики)… (не знаю правильно ли, доходчиво ли я изъяснилась)) у Вас в сайдбаре так работает.
Я не проставляю пока что на блоге Михаила свой сайт: не уверена в его готовности, вот и стесняюсь показывать читателям…
А вот под ником хамить – исключительное свинство деградирующего чела.
В данный момент под ником хамишь ты, я то тебя не оскорблял, поэтому в первую очередь ты как раз и являешься….. как ты там написала? Откуда ты такая? Не разобравшись в ситуации начинаешь обвинять и поливать грязью. Вообще я очень спокойный человек, но автор блога язвит на любой вопрос, а моё желание помочь воспринимает агрессивно. Почитай мои и его комментарии выше, а только потом делай выводы!
PS чувак, когда меня забанишь то? или ты просто трепло!
Это ошо кто такое за ужос (жаль, смайлика нет) ?
Во-первых, я никаких имён не называла (не тыкала ни на кого) – я всего-то выразила своё скромное мнение насчёт хамства! а уж примерять его на себя или нет, дело личное!
Вы, сударь, примерили успешно! На воре шапка: так говорили мудрые и выдержанные люди!!
Я почитала некоторые отзывы: хамили вы, ну хотя бы тем, что то и дело (как вижу) впихивали свой ГС. А подобные сайты неприемлемы (я не хочу сказать что-то мерзкое о ГС, не моё дело – им и всему своё место).
Тем самым вы выыли себя наплевательски к автору блога и его просьбам… Что прикажете… как реагировать на это??
Хотя кому я поясняю !? вероятно, таким же как и я, чтобы были внимательнее…
Обычно за мусшкими никами срываются ДамЫ, но вы, мне чудится сквозь грёзы, даже и не баба, а…
…учитесь русскому языку хотя бы на подобных блогах, если в css (или как там) туго…
Здравствуйте Катi!
Я там по Вашей просьбе статейкуКак найти и убрать циклические ссылки… кстати сказать, также в статье рассматриваем вопрос о том, как скрыть или показать соответствующие блоки рекламы на тематических страничках – всё это при помощи условных тегов! набросал… не вычитывал пока что) мож что не ясно получилось (времени маловато).
Так Вы прямо и смело спрашивайте, коли с чем затруднитесь…
Я же Вам говорил: делитесь ссылкой даже группой ВК – Вашу, как коллеги блогера и примерной, рачительной ученицы, пропущу…
И с сайтом не затягивайте (примите как добрый совет) – мне этот блог достался тоже от новичка – ну и что! я ж не испугался)) – хотя должен сказать, что этот блог был у прежнего владельца значительно лучше того, моего… давно-давно…
у некоторых первые шаги имеют свою прелесть… а у иныххх, как у дитя, не знающего о нормах приличия, гигиены и чистоплотности…
ну, Вы понимаете…
И не тррратьте времени зря))
Привет-привет!!
Чо-то ты тут всякую сапожную… публикуешь?? да ещё особливо когда на дам грабли скоблят))
…дайк мне его сайты-то… посмотрю, шо оне тут продвигал своё или какого не сном не рылом заказчика – хорошего человека, нанявшего этакого вот кренделя продвигателя!! причём как я погляжу, весёлого дюжа))
не пугай добрых читателей таким-то высоким стилем его письма, дорогой…
И не серчай, коли что не так молвил…
Эхъ-хъ))
Привет!
…посмотрим, подумаем как зачистить – жаль, барышня красиво и доходчиво изложила: у меня б так не вышло испеть песнь, коллега)
Утро доброе, ребята!
Я, конечно, многого не знаю в правилах блогосферы; мне не понятно к чему убирать комментарии… тем более, когда те адресованы не только автору блога!
Михаил на мою просьбу откликнулся и показал адресованное мне послание “героя” – истинным кавалером оказался мой опппонет, что сказать! только я не, как выразился Дмитрий, “тупорылая хохлушка” я – среднестатистическая русская гражданка) к тому же не имею никаких претензий к Украине и её жителям.
А с его стороны, как терь модно говорить, призыв к нац-розни – хреновый чел (бесхреновый)!
Это конечно Ваш, Михаил, блог и Вы вправе поступать по своим усмотрениям, но я бы была не против, если бы Вы опубликовали его грязный пасквиль в мою сторону. Пусть люди знают.
А Александр (мерси) меня натолкнул на следующую мысль: ну пусть он добьется чего так сам желал – опубликуйте его сайт. Возможно, многим таким же как и я (новичкам) будут полезны знания о беседах и осторожности в инете.
Катя, Вы думаете меня не удивил этот товарищЪ??- редиска… он бы всю жизнь… (чмо диванное, фуфел)… Как в кино, помните, Леонов ругался?))
Он меня по сути оскорбил-с – такое мужик /если он мужик, конечно/ говорит глядя в глаза, но не из-за монитора. И коли было б так, то его базар (дешёвый) я бы воспринял как вызов! – это чудо обозвало меня “плагиатором” – вором, иными словами.!. и уж не говорю о своём блоге, который, по его мнению, ГС.
Но, понимаете, как я могу на это что-то отвечать, – это ж никто (ник) nemo – фуф! иными словами.
Эти деграданты токо и способны хамить подобным (троллно-тайным) способом, потому что они по жизни унижены, а здесь их “минута славы”)).
Вы думаете – я такой пушистый… нет, я тоже люблю подискутировать… но за базар нужно отвечать, а не пи@@ть инкогнито!
А если уж он с бабой так позволяет сабе сапожно трындеть…
Ну, я, думаю, Вы поняли меня.
Забудьте!! (не будем убивать время)) тем более Вы по-моему заслуживаете только комплиментов – и грешно обращать внимание на всякую сволочь…
P|s
…позволил себе крепенькие словца только потому, что я у себя “дома”))
Насчёт “сайта” подумаю… а публиковать этот детсадовский горшочек испражнений его мислей, думаю, излишне.
Да и честно говоря я думал что он – извинится (мало ли что бывает: мож перегрелся или выпил лишнее, а может быть он несостоявшийся художник какой).
Но нет.
Как что ни к чему “пальцы гнуть, нам этот мир не повернуть…”
Вот Вам песенка, уважаемого мною человека: царствие ему небесное!
…