/** * Generate WP-compatible $menu and $submenu arrays from a custom menu tree. */ private function _build_custom_wp_menu() { $new_menu = array(); $new_submenu = array(); global $menu, $submenu; $cache_submenu = HW_HOANGWEB::get_wp_option('hw_custom_wp_submenu'); $cache_modules_submenus = HW_HOANGWEB::get_wp_option('other_modules_submenus'); if (empty($cache_submenu) || empty($cache_modules_submenus)) { #$root = new HW_Array_List_items_path($submenu, __CLASS__); $parent =& HW_Module_Settings_page::get_root_wp_menu_data($submenu); $parent1 =& HW_Widget_Features_Setting::get_root_wp_menu_data($submenu); $root_hoangweb =& HW_HOANGWEB_Settings::get_root_wp_menu_data($submenu); /*#eval('$parent = &$submenu'. $parent.';'); $parent[] = Array ( 'abc', 'manage_options', 'http://localhost/wp1/wp-admin/admin.php?tab=gallery&page=hw_modules_settings&module=gallery&tgmpa-tab-nonce=2ad45f5013&_wpnonce=922a2d6727', ); set_transient('hw-replace-admin-submenu', $submenu);*/ self::build_custom_wp_menu(array('menu' => &$menu, 'submenu' => &$submenu, 'root' => &$parent, 'root_widget_features' => &$parent1, 'root_hoangweb' => &$root_hoangweb)); HW_SESSION::save_session('submenu', $submenu); HW_SESSION::save_session('menu', $menu); $this->custom_wp_menu = $menu; $this->custom_wp_submenu = $submenu; } }
/** * Register the settings page * @hook admin_menu */ public function _wxr_settings_menu() { //add_options_page( __( 'HW Settings Import and Export' ), __( 'HW Import/Export' ), 'manage_options', 'hw_wxr_settings', array($this, '_wxr_settings_page') ); add_submenu_page('admin.php', __('HW Settings Import and Export'), __('HW Import/Export'), 'manage_options', $this->menu, array($this, '_wxr_settings_page')); HW_HOANGWEB_Settings::add_custom_submenu_page('hw-import-export', array(__('HW Import/Export'), 'manage_options', admin_url('admin.php?page=' . $this->menu))); }
/** * Adds submenu page under 'Appearance' tab. * * This method adds the submenu page letting users know that a required * plugin needs to be installed. * * This page disappears once the plugin has been installed and activated. * * @since 1.0.0 * * @see HW_TGM_Module_Activation::init() * @see HW_TGM_Module_Activation::install_plugins_page() */ public function hw_admin_menu() { // Make sure privileges are correct to see the page if (!current_user_can('install_plugins')) { return; } //modify by hoang $this->populate_file_path(); foreach ($this->plugins as $plugin) { if ($this->hw_is_exists_module($plugin['file_path'])) { /*$hook = add_theme_page( $this->strings['page_title'], // Page title. $this->strings['menu_title'], // Menu title. 'edit_theme_options', // Capability. $this->menu, // Menu slug. array( $this, 'hw_install_module_page' ) // Callback. );*/ add_submenu_page('admin.php', $this->strings['page_title'], $this->strings['menu_title'], 'manage_options', $this->menu, array($this, 'hw_install_module_page')); HW_HOANGWEB_Settings::add_custom_submenu_page('module-activation', array('HW Modules', 'manage_options', admin_url('admin.php?page=' . $this->menu))); break; } } }
/** * register submenu item */ public static function register_menu() { HW_HOANGWEB_Settings::register_submenu(get_called_class()); }