Ваш путь: Главная » Контент, шапка site » текущая страница

возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: Контент, шапка site
Запросто с WordPress создание и продвижение сайтов ATs media

Как убрать пункты меню настроек из админпанели (консоли Вордпресс)

Иногда требуется скрыть (или убрать) некоторые пункты меню управления в админпанели (в консоли). Причин для этого может быть масса! например, когда даётся временный (или постоянный) доступ в панель управления: авторы, когда выкладывают свои статьи, могут что-то отрегулировать так, что ухлопаешь много времени для восстановления прежней работы сайта…

…или когда показывают клиенту, которому создают сайт, некоторые рычаги управления: в этих случаях уместнее скрыть какие-то важные настройки. От греха))

Для исключения некоторых пунктов меню в админке, существует небольшой код, который рассмотрим ниже: (а также, может кому пригодится, дам ещё некоторые примеры кодов…)


 

убираем пункты меню из админки

 

 

 

Вот код, который прописывается в файл функций (можно в какой-то личный плагин, – как создать такой плагин, описано ТУТ).

 

В коде даны комментарии к каждому пункту “исключения”…

…если какие-то пункты меню исключать не следует (хотите оставить в админке), то их можно запросто закомментировать (для тех, которые не знают как и для чего комментируют программный код: 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');        // Меню
}
/** уборка неиспользуемых виджетов */

 

 

 

Я для примера закомментировал некоторые строки… Т.е закомментированная строка – открывает показ виджета в админке.

 

 

 

 

На этом у меня на сегодня всё))

 


mihalica.ru

 


подписка feedburner Online консультация по настройкам и созданию сайтов на WordPress

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©


  1. Не скрывается пункт меню “Внешний вид”, все остальные пункты скрываются. В чём может быть причина?

    Ответить - Дмитрий

    • Попробуйте так:

      remove_menu_page( 'themes.php' );                 // Внешний вид

      Но для реализации существует ещё вариант кода, –
      …я там добавил несколько пояснений в статье: прочтите…

      PS\ если будете продолжать внаглую проставлять ссылки – я Вас просто заблокирую…

      Ответить - Михаил

      • Второй код работает, спасибо! Но из админ бара все-равно можно попасть в “Консоль”, “Темы”, “Виджеты”, “Меню”… Как вариант удалить админ бар для всех, кроме админа.

        PS Если у вас имеется при комментировании поле: “адрес сайта”, зачем так злиться, когда люди оставляют адрес своего сайта? Тем более, что заблокировать меня вы не сможете, если только не сделаете комментирование только для зарегистрированных пользователей.

        Ответить - Дмитрий

        • Я не злюсь – я веселюсь… Этакая вязкость в упорстве (причём бессмысленном) право – весела!!
          Это просто неприлично, если слышали о таком понятии…
          Забанить смогу, если постараюсь…

          Но Вы правы (для тех, которые не слышат чувство такта) – добавлю “url блога” !!

          Ответить - Михаил

        • PS Ваш код удаления админ бара, приводит к фатальной ошибке. Предлагаю вам свой код удаления админ бара, для всех кроме админа:

          /** УБИРАЕМ АДМИНБАР для всех КРОМЕ АДМИНИСТАТОРА **/
          function rvn_function_admin_bar($content) {
          	return ( current_user_can("administrator") ) ? $content : false;
          }
          add_filter( 'show_admin_bar' , 'rvn_function_admin_bar');
          /** УБИРАЕМ АДМИНБАР для всех КРОМЕ АДМИНИСТАТОРА **/
          Ответить - Дмитрий

          • Это, конечно, похвально ! что Вы принимаете участие… пытаетесь выявить ошибки… Здорово!
            Однако не стоит забывать, что пока что Вы не нашли ни одной… Хотя ошибки у всех всегда были, есть и будут.
            К чему это я? а к тому, что:
            нужно бы внимательнее относиться к своему файлу функций и пр. – Вы не думали, что могут быть конфликты лично с “Вашей” стороны?

            Данный в статье код, ни к каким фатальным, прости, Господи, ошибкам не приводит: проверялось не единожды на многих сайтах…
            Об разнице… в “Вашем” коде, говорить не стану: получится длинно.

            Ответить - Михаил

  2. Об разнице… в «Вашем» коде

    Вы хотите сказать, что представленные в статье коды ваши?

    Не буду размещать тут ссылку, откуда вы слизали инфу, а то забаните! )))))))))

    Ответить - Дмитрий

    • за это не забаню:

      Вы хотите сказать, что представленные в статье коды ваши?


      я ничего не хочу сказать (и не хотел) по этому поводу…
      Вообще, это никакой не авторский код (функция) – но банальные фильтры, принцип которых замечательным образом описан в кодексе WP! и их вряд ли уместно всерьёз считать авторскими.
      Касаемо авторских функций… ну так повелось в приличном обществе – принято всегда обозначать “писателя”: что лично я и делаю, причём с удовольствием… (если знаю автора).
      А чтобы дать пример “фильтра” в статье, вовсе необязательно, как Вы выразились “слизать” !! …у мало-мальски начинающего веб мастера этого добра в запасниках до чёрта!

      also:
      В “Вашем” – я всего-то подчёркивал (и отнюдь не впервые) относиться более внимательно к своему файлу функций (к ошибкам!), и всего делоф!

      …мне надоело тратить время на эту бессмысленную болтовню с душком: ступайте в соцсети, там и “режьте” свою правду матку…

      И вообще: под ником пускаться в упрёки – не есть корошо! вот за это забаню!

      Ответить - Михаил

  3. Мне пока что все эти “сокрытия” тёмный лес. В том смвсле, что не то чтоб от пользователей что-то закрывать, а от себя бы ненароком не удалить какую регулировку))
    Мне эти тайны админки, к сожалению, пока и не требуются.
    А Вы обещали показать как нужно в сайдбаре исключать цикличные ссылки: у меня рубрики по “готовке” и “всяким женско-детским штучкам” – чтоб ссылка переставала работать на некоей ссылаемой статье (из одной рубрики)… (не знаю правильно ли, доходчиво ли я изъяснилась)) у Вас в сайдбаре так работает.

    Я не проставляю пока что на блоге Михаила свой сайт: не уверена в его готовности, вот и стесняюсь показывать читателям…
    А вот под ником хамить – исключительное свинство деградирующего чела.

    Ответить - Катi

    • А вот под ником хамить — исключительное свинство деградирующего чела.

      В данный момент под ником хамишь ты, я то тебя не оскорблял, поэтому в первую очередь ты как раз и являешься….. как ты там написала? Откуда ты такая? Не разобравшись в ситуации начинаешь обвинять и поливать грязью. Вообще я очень спокойный человек, но автор блога язвит на любой вопрос, а моё желание помочь воспринимает агрессивно. Почитай мои и его комментарии выше, а только потом делай выводы!

      PS чувак, когда меня забанишь то? или ты просто трепло!

      Ответить - Дмитрий

      • Это ошо кто такое за ужос (жаль, смайлика нет) ?
        Во-первых, я никаких имён не называла (не тыкала ни на кого) – я всего-то выразила своё скромное мнение насчёт хамства! а уж примерять его на себя или нет, дело личное!
        Вы, сударь, примерили успешно! На воре шапка: так говорили мудрые и выдержанные люди!!

        Я почитала некоторые отзывы: хамили вы, ну хотя бы тем, что то и дело (как вижу) впихивали свой ГС. А подобные сайты неприемлемы (я не хочу сказать что-то мерзкое о ГС, не моё дело – им и всему своё место).
        Тем самым вы выыли себя наплевательски к автору блога и его просьбам… Что прикажете… как реагировать на это??

        Хотя кому я поясняю !? вероятно, таким же как и я, чтобы были внимательнее…

        Обычно за мусшкими никами срываются ДамЫ, но вы, мне чудится сквозь грёзы, даже и не баба, а…
        …учитесь русскому языку хотя бы на подобных блогах, если в css (или как там) туго…

        Ответить - Катi

  4. Здравствуйте Катi!
    Я там по Вашей просьбе статейкуКак убрать циклические ссылкиКак найти и убрать циклические ссылки… кстати сказать, также в статье рассматриваем вопрос о том, как скрыть или показать соответствующие блоки рекламы на тематических страничках – всё это при помощи условных тегов! набросал… не вычитывал пока что) мож что не ясно получилось (времени маловато).
    Так Вы прямо и смело спрашивайте, коли с чем затруднитесь…
    Я же Вам говорил: делитесь ссылкой даже группой ВК – Вашу, как коллеги блогера и примерной, рачительной ученицы, пропущу…
    И с сайтом не затягивайте (примите как добрый совет) – мне этот блог достался тоже от новичка – ну и что! я ж не испугался)) – хотя должен сказать, что этот блог был у прежнего владельца значительно лучше того, моего… давно-давно…
    у некоторых первые шаги имеют свою прелесть… а у иныххх, как у дитя, не знающего о нормах приличия, гигиены и чистоплотности…
    ну, Вы понимаете…
    И не тррратьте времени зря))

    Ответить - Михаил

    • Привет-привет!!
      Чо-то ты тут всякую сапожную… публикуешь?? да ещё особливо когда на дам грабли скоблят))
      …дайк мне его сайты-то… посмотрю, шо оне тут продвигал своё или какого не сном не рылом заказчика – хорошего человека, нанявшего этакого вот кренделя продвигателя!! причём как я погляжу, весёлого дюжа))
      не пугай добрых читателей таким-то высоким стилем его письма, дорогой…
      И не серчай, коли что не так молвил…
      Эхъ-хъ))

      Ответить - Александр

      • Привет!
        …посмотрим, подумаем как зачистить – жаль, барышня красиво и доходчиво изложила: у меня б так не вышло испеть песнь, коллега)

        Ответить - Михаил

        • Утро доброе, ребята!
          Я, конечно, многого не знаю в правилах блогосферы; мне не понятно к чему убирать комментарии… тем более, когда те адресованы не только автору блога!
          Михаил на мою просьбу откликнулся и показал адресованное мне послание “героя” – истинным кавалером оказался мой опппонет, что сказать! только я не, как выразился Дмитрий, “тупорылая хохлушка” я – среднестатистическая русская гражданка) к тому же не имею никаких претензий к Украине и её жителям.
          А с его стороны, как терь модно говорить, призыв к нац-розни – хреновый чел (бесхреновый)!
          Это конечно Ваш, Михаил, блог и Вы вправе поступать по своим усмотрениям, но я бы была не против, если бы Вы опубликовали его грязный пасквиль в мою сторону. Пусть люди знают.
          А Александр (мерси) меня натолкнул на следующую мысль: ну пусть он добьется чего так сам желал – опубликуйте его сайт. Возможно, многим таким же как и я (новичкам) будут полезны знания о беседах и осторожности в инете.

          Ответить - Катi

          • Катя, Вы думаете меня не удивил этот товарищЪ??- редиска… он бы всю жизнь… (чмо диванное, фуфел)… Как в кино, помните, Леонов ругался?))
            Он меня по сути оскорбил-с – такое мужик /если он мужик, конечно/ говорит глядя в глаза, но не из-за монитора. И коли было б так, то его базар (дешёвый) я бы воспринял как вызов! – это чудо обозвало меня “плагиатором” – вором, иными словами.!. и уж не говорю о своём блоге, который, по его мнению, ГС.
            Но, понимаете, как я могу на это что-то отвечать, – это ж никто (ник) nemo – фуф! иными словами.
            Эти деграданты токо и способны хамить подобным (троллно-тайным) способом, потому что они по жизни унижены, а здесь их “минута славы”)).
            Вы думаете – я такой пушистый… нет, я тоже люблю подискутировать… но за базар нужно отвечать, а не пи@@ть инкогнито!
            А если уж он с бабой так позволяет сабе сапожно трындеть…

            Ну, я, думаю, Вы поняли меня.
            Забудьте!! (не будем убивать время)) тем более Вы по-моему заслуживаете только комплиментов – и грешно обращать внимание на всякую сволочь…

            P|s
            …позволил себе крепенькие словца только потому, что я у себя “дома”))
            Насчёт “сайта” подумаю… а публиковать этот детсадовский горшочек испражнений его мислей, думаю, излишне.
            Да и честно говоря я думал что он – извинится (мало ли что бывает: мож перегрелся или выпил лишнее, а может быть он несостоявшийся художник какой).
            Но нет.

            Как что ни к чему “пальцы гнуть, нам этот мир не повернуть…”
            Вот Вам песенка, уважаемого мною человека: царствие ему небесное!

            Ответить - Михаил