WP Admin Menu Hub
Universal WordPress/WooCommerce admin-menu consolidator — hide or embed any plugin's menu item into a single tabbed hub
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/al-nemirov/wp-hub/archive/refs/heads/main.zipReadme
WP Admin Menu Hub
Универсальный консолидатор админ-меню WordPress / WooCommerce. Любой пункт меню любого плагина можно показать, скрыть или встроить как вкладку в единый хаб — всё через UI, без правки кода чужих плагинов.
Зачем
Когда установлено много плагинов (доставка, синхронизация, аналитика, SMTP…), каждый вешает свой пункт в меню — сайдбар превращается в кашу, а персоналу видно всё подряд. Этот плагин наводит порядок: оставить в меню только нужное, остальное скрыть или собрать в один хаб с вкладками — отдельно для администратора и для персонала.
Возможности
- 3 действия на пункт: Показать / Скрыть / Встроить (вкладкой в хаб).
- Работает с любыми пунктами — и плагинов, и ядра WP (Записи, Плагины, Внешний вид, Инструменты…), и верхнего уровня, и подпунктов.
- Применение по ролям: правила можно включить только для не-администраторов — владелец видит полное меню, персонал только нужное.
- Настройка названия и иконки хаба.
- Один хаб-пункт + горизонтальная панель вкладок поверх встроенных страниц.
- Конфиг в одной опции; деактивация полностью возвращает меню.
Установка
- Скопировать папку
wp-hubвwp-content/plugins/. - Активировать «WP Admin Menu Hub» в разделе Плагины.
- Настройки → Menu Hub — настроить.
Как пользоваться
- Настройки → Menu Hub.
- Для каждого пункта меню выберите действие:
- Показать — оставить как есть (по умолчанию);
- Скрыть — убрать из меню (страница остаётся доступной по прямой ссылке);
- Встроить — убрать из меню и показать карточкой/вкладкой в едином хабе.
- Задайте название и иконку хаба, выберите кому применять, сохраните.
Применение по ролям
- Всем, кроме администраторов (по умолчанию) — администратор (
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 }):
- Пункт исчезает из сайдбара, но страница остаётся полностью рабочей — доступна по URL, её скрипты грузятся на родном hook.
- Встроенные пункты собираются в один хаб-пункт (карточки), а поверх их страниц через
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.