Як приховати меню в wordpress адмінки добірка фрагментів і модулі

Як приховати меню в wordpress адмінки добірка фрагментів і модулі
У блозі знайдете багато статей з оформлення меню сайту. яке служить навігацією для відвідувачів вашого веб-проекту, наприклад, були замітки про спеціальної функції wp_nav_menu. використання іконок в меню або про створення хлібних крихт. Але сьогоднішній пост присвячений трохи іншої теми - я поділюся прийомами модифікації елементів всередині адмінки, зокрема обговоримо як прибрати меню в WordPress, позбутися від непотрібних розділів, вибірково приховувати пункти і т.п.

Я починав цю тему з однією лише завдання, що було потрібно для недавнього проекту, проте з часом зібрав кілька корисних фішок. Хочу включити їх все в один пост щоб легше було знайти потрібну інформацію, і не переходити по десяткам посилань. Тому не дивуйтеся, що нижче представлена ​​парочка (на перший погляд) трохи не зв'язаних фрагментів. Проте, всі вони стосуються тематики приховування меню в WordPress адмінки.

Повний список хаков, що дозволяють:

Як прибрати верхнє меню WordPress

Розпочну з найпростішої завдання. Йдеться про верхню WordPress панелі для роботи з сайтом, яка відображається не тільки в амдінке, а й у фронтенді. Відповідна опція знаходиться в розділі «Користувачі» - на сторінці редагування налаштувань:

Як приховати меню в wordpress адмінки добірка фрагментів і модулі

Щоб відключити верхню панель в WordPress вам потрібно зняти відповідну галочку в параметрах профілю. За замовчуванням, при створенні нового користувача опція є активною.

Якщо ви хочете деактивувати цю фішку для всіх користувачів, щоб не відключати її кожен раз вручну, можна використовувати код:

В принципі, ніякої особливо корисної інформації / дій вона не містить, завжди деактивує дану штуку.

Як приховати пункти меню в WordPress адмінки

Для цих цілей в системі є 2 функції:

  • remove_menu_page - видаляє елементи першого рівня (розділи)
  • remove_submenu_page - позбавляється від підлеглих (другого рівня).

Як параметр для remove_menu_page вставляєте назву файлу, що відповідає за той чи інший розділ, наприклад:

Дві останні рядки відповідають за приховування розділів плагіна Contact form 7 і фреймворка Cherry. Плюс для сторінок використовується трохи незвичний формат. Якщо на сайті є інші таксономії, застосовуєте конструкцію:

Де custom-post-type-name - назва таксономії. Коли потрібно видалити в меню сторінку Wodpress модуля виду wp-admin / admin.php? Page = some_pageslug. допоможе код:

Для підлеглих формат запису функції дещо інший, але принцип схожий - підставляєте в якості параметрів спочатку назва розділу, а потім конкретного підпункту:

Фішка застосування remove_submenu_page в тому, що ви зможете приховати пункт меню в адмінці WordPress другого рівня, а сам розділ (Пости, Зовнішній вигляд) залишиться.

Також ви могли помітити, що в останньому випадку виклику add_action я використовував пріоритет = 999. Справа в тому, що деякі рядки не завжди спрацьовують без нього - наскільки я пам'ятаю, це стосувалося модулів і розділу Зовнішній вигляд. У мережі знаходив варіанти 99, 500, але 999 надійніше.

Прибрати спеціальні розділи таксономій теми

Як приховати меню в wordpress адмінки добірка фрагментів і модулі

Як прибрати сторінку налагоджувальника тим

Приховати в меню WordPress посилання на настроювач шаблону чомусь виявилося не так просто. У мережі знайшов кілька варіантів вирішення задачі, але жоден з них у мене не спрацював. Єдине, що допомогло - метод з CSS.

Даний код розміщуєте в файлі функцій. Він додає display: none; для стилю, який використовується в пункті налагоджувальника (hide-if-no-customize). Можливо, в якійсь версії системи там буде інший class / id, дивіться код сторінки.

Прибираємо меню в WordPress для конкретного користувача

В даному випадку умова спрацьовує для двох профілів з поштою [email protected] і [email protected]. Важливо (!) Не забудьте поміняти ці значення на свої.

Як видалити меню в WP за ролями

Ось ще один сниппет. Щоб приховати меню Інструменти з WordPress для всіх, хто не є адміном, використовуйте:

Думаю, суть ви вловили.

Admin Menu Editor для модифікації меню

Я хотів вирішити питання саме за допомогою коду, але традиційно під нашу задачу є і спеціальні плагіни для WordPress адмінки. Один з них - Admin Menu Editor. Він дозволяє:

  • Редагувати заголовки, іконки, CSS для навігації в системі.
  • Переставляти пункти місцями за допомогою перетягування, в тому числі і змінюючи їх ієрархію.
  • Показувати і приховувати меню в WordPress.
  • Встановлювати різні дозволи доступу.
  • Створювати нові розділи і підпункти.

Як приховати меню в wordpress адмінки добірка фрагментів і модулі

В цілому інструмент цікавий, хоча в ньому потрібно буде розбиратися. Я намагався «погратися» там з ролями користувачів та приховуванням певних розділів, але якщо чесно, у мене мало що вийшло. Вирішив повернутися до звичайних сніпетів. Можливо, в майбутньому розгляну його детальніше. Модуль вельми популярний - близько 200 тисяч завантажень і високі оцінки.

Сподобався пост? Підпишись на оновлення блогу по RSS. Email або twitter.