WP Manifestindependent plugin directory
manifest / admin / wp-hub

WP Admin Menu Hub

Universal WordPress/WooCommerce admin-menu consolidator — hide or embed any plugin's menu item into a single tabbed hub

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/al-nemirov/wp-hub/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Универсальный консолидатор админ-меню WordPress / WooCommerce. Любой пункт меню любого плагина можно показать, скрыть или встроить как вкладку в единый хаб — всё через UI, без правки кода чужих плагинов.

Зачем

Когда установлено много плагинов (доставка, синхронизация, аналитика, SMTP…), каждый вешает свой пункт в меню — сайдбар превращается в кашу, а персоналу видно всё подряд. Этот плагин наводит порядок: оставить в меню только нужное, остальное скрыть или собрать в один хаб с вкладками — отдельно для администратора и для персонала.

Возможности

  • 3 действия на пункт: Показать / Скрыть / Встроить (вкладкой в хаб).
  • Работает с любыми пунктами — и плагинов, и ядра WP (Записи, Плагины, Внешний вид, Инструменты…), и верхнего уровня, и подпунктов.
  • Применение по ролям: правила можно включить только для не-администраторов — владелец видит полное меню, персонал только нужное.
  • Настройка названия и иконки хаба.
  • Один хаб-пункт + горизонтальная панель вкладок поверх встроенных страниц.
  • Конфиг в одной опции; деактивация полностью возвращает меню.

Установка

  1. Скопировать папку wp-hub в wp-content/plugins/.
  2. Активировать «WP Admin Menu Hub» в разделе Плагины.
  3. Настройки → Menu Hub — настроить.

Как пользоваться

  1. Настройки → Menu Hub.
  2. Для каждого пункта меню выберите действие:
    • Показать — оставить как есть (по умолчанию);
    • Скрыть — убрать из меню (страница остаётся доступной по прямой ссылке);
    • Встроить — убрать из меню и показать карточкой/вкладкой в едином хабе.
  3. Задайте название и иконку хаба, выберите кому применять, сохраните.

Применение по ролям

  • Всем, кроме администраторов (по умолчанию) — администратор (manage_options) видит полное меню без изменений, у остальных (shop_manager, editor…) лишнее скрыто/встроено. Владелец сохраняет полный контроль, персонал видит только рабочее.
  • Всем, включая администраторов — правила применяются ко всем.

Страница настроек самого плагина администратору доступна всегда.

Как устроено скрытие/встраивание (важно)

Пункт меню не удаляется и страница не переносится. Это принципиально:

  • remove_submenu_page() / remove_menu_page() не просто убирают пункт — они ломают доступ к странице: WP начинает отвечать «у вас недостаточно прав» при заходе по URL. Поэтому удаление не используется.
  • Перенос страницы под другой родительский пункт сменил бы её hook-suffix и сломал бы её screen-specific JS (кнопки «проверить связь», подгрузка справочников и т.п.).

Вместо этого пункт прячется через CSS (#adminmenu li:has(> a[href$="…"]) { display:none }):

  1. Пункт исчезает из сайдбара, но страница остаётся полностью рабочей — доступна по URL, её скрипты грузятся на родном hook.
  2. Встроенные пункты собираются в один хаб-пункт (карточки), а поверх их страниц через in_admin_header рисуется общая панель вкладок.

Итог: чистое меню с одним хабом, при этом функциональность каждой страницы сохранена на 100%.

CSS-селектор :has() поддерживается всеми актуальными браузерами (Chrome/Edge 105+, Firefox 121+, Safari 15.4+).

Безопасность

  • Пункты options-general.php (Настройки), index.php (Консоль), сама страница плагина и хаб — защищены и не могут быть скрыты (защита от самоблокировки).
  • Ничего не удаляется — все страницы доступны по прямой ссылке и возвращаются в меню, как только снимете «Скрыть».
  • Конфигурация — в одной опции wphub_config; деактивация плагина возвращает меню как было.
  • Все формы — с nonce и проверкой capability; вывод экранируется.

Требования

  • WordPress 5.6+, PHP 7.4+.
  • WooCommerce не обязателен (плагин работает с любым админ-меню).

Лицензия

MIT.