Приховуємо окремі пункти меню до адмін панелі
Для приховування окремих пунктів меню до адмін панелі можна скористатися рядом плагінів або достатньо скористатися функцією unset() для видалення елементів глобального масиву $submenu.
Думаю на прикладі має бути зрозумілішим. На своєму тестовому сайті у папці теми у файлі functions.php вставляємо код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
function remove_submenus() { global $submenu; //Dashboard menu unset($submenu['index.php'][10]); // Removes Updates //Posts menu unset($submenu['edit.php'][5]); // Leads to listing of available posts to edit unset($submenu['edit.php'][10]); // Add new post unset($submenu['edit.php'][15]); // Remove categories unset($submenu['edit.php'][16]); // Removes Post Tags //Media Menu unset($submenu['upload.php'][5]); // View the Media library unset($submenu['upload.php'][10]); // Add to Media library //Links Menu unset($submenu['link-manager.php'][5]); // Link manager unset($submenu['link-manager.php'][10]); // Add new link unset($submenu['link-manager.php'][15]); // Link Categories //Pages Menu unset($submenu['edit.php?post_type=page'][5]); // The Pages listing unset($submenu['edit.php?post_type=page'][10]); // Add New page //Appearance Menu unset($submenu['themes.php'][5]); // Removes 'Themes' unset($submenu['themes.php'][7]); // Widgets unset($submenu['themes.php'][15]); // Removes Theme Installer tab //Plugins Menu unset($submenu['plugins.php'][5]); // Plugin Manager unset($submenu['plugins.php'][10]); // Add New Plugins unset($submenu['plugins.php'][15]); // Plugin Editor //Users Menu unset($submenu['users.php'][5]); // Users list unset($submenu['users.php'][10]); // Add new user unset($submenu['users.php'][15]); // Edit your profile //Tools Menu unset($submenu['tools.php'][5]); // Tools area unset($submenu['tools.php'][10]); // Import unset($submenu['tools.php'][15]); // Export unset($submenu['tools.php'][20]); // Upgrade plugins and core files //Settings Menu unset($submenu['options-general.php'][10]); // General Options unset($submenu['options-general.php'][15]); // Writing unset($submenu['options-general.php'][20]); // Reading unset($submenu['options-general.php'][25]); // Discussion unset($submenu['options-general.php'][30]); // Media unset($submenu['options-general.php'][35]); // Privacy unset($submenu['options-general.php'][40]); // Permalinks unset($submenu['options-general.php'][45]); // Misc } add_action('admin_menu', 'remove_submenus'); |
Код працездатний, затримка може бути якщо у вас вже встановлено сторонні плагіни і вони додали пункт у меню адміністратора. У таких випадках можна скористатися функцією виведення масиву var_dump() та подивитися які саме пункти необхідно прибрати.
Приклад перегляду списку меню до адмін панелі:
1 2 3 4 5 6 7 |
function remove_submenus() { global $submenu; echo '<pre>'; var_dump($submenu); echo '</pre>'; } add_action('admin_menu', 'remove_submenus'); |
/*
- Базовий курс з веб-дизайну;
- Верстка сайтів;
- Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
- Розробка сайтів на PHP.