/** * Create AppPresser Settings menus * @since 1.0.0 */ function plugin_menu() { $page_title = __('AppPresser', 'apppresser'); // Create main menu and settings page self::$menu_slug = add_menu_page($page_title, $page_title, 'manage_options', self::$page_slug, array($this, 'settings_page')); // Settings page submenu item self::$extn_menu_slug = add_submenu_page(self::$page_slug, __('Settings', 'apppresser'), __('Settings', 'apppresser'), 'manage_options', self::$page_slug, array($this, 'settings_page')); // Extensions page submenu item self::$extn_menu_slug = add_submenu_page(self::$page_slug, __('Extensions', 'apppresser'), __('Extensions', 'apppresser'), 'manage_options', self::$extensions_slug, array($this, 'extensions_page')); // Help page submenu item self::$help_menu_slug = add_submenu_page(self::$page_slug, __('Help / Support', 'apppresser'), __('Help / Support', 'apppresser'), 'manage_options', self::$help_slug, array($this, 'help_support_page')); add_action('admin_head-' . self::$menu_slug, array($this, 'admin_head')); // enqueue foreach (array(self::$menu_slug, self::$extn_menu_slug, self::$help_menu_slug) as $slug) { add_action('admin_print_scripts-' . $slug, array($this, 'admin_scripts')); } // Add notification bubble if any notifications if ($notifications = $this->notification_badge()) { global $menu; // Add the notification bubble to our top level menu foreach ($menu as $menu_key => $menu_item) { if (isset($menu_item[2]) && self::$page_slug == $menu_item[2]) { $menu[$menu_key][0] = $menu_item[0] . $notifications; } } } }