public function call() { $args = $this->_parse_args(func_get_args(), $this->_args); if ($this->_use_ob) { return WPHelper::ob_function($this->_function, $args); } else { return (string) call_user_func_array($this->_function, $args); } }
private function registerAdminMenus($menus) { // https://codex.wordpress.org/Function_Reference/add_menu_page // https://codex.wordpress.org/Function_Reference/add_submenu_page $submenuSlugNum = 0; $slugPrefix = str_replace(' ', '_', $this->getPluginName()); $wpSlugs = WPHelper::getAdminMenuSlugs(); $menuSlugs = array(); foreach ($menus as $parentSlug => $description) { if (!isset($wpSlugs[$parentSlug])) { $parentSlug = $slugPrefix . $parentSlug; if (!isset($menuSlugs[$parentSlug])) { $options = $description['options']; add_menu_page(isset($options['pageTitle']) ? $options['pageTitle'] : $parentSlug, isset($options['menuTitle']) ? $options['menuTitle'] : $parentSlug, isset($options['capability']) ? $options['capability'] : 'read', array($this->_frontController, 'showPageContent'), isset($options['icon_url']) ? $options['icon_url'] : '', isset($options['position']) ? $options['position'] : 99); $menuSlugs[$parentSlug] = $parentSlug; } } if (isset($description['submenus']) && is_array($description['submenus'])) { foreach ($description['submenus'] as $menu) { add_submenu_page($parentSlug, isset($menu['pageTitle']) ? $menu['pageTitle'] : $slugPrefix, isset($menu['menuTitle']) ? $menu['menuTitle'] : $slugPrefix, isset($menu['capability']) ? $menu['capability'] : '', $slugPrefix . '_' . (isset($menu['slug']) ? $menu['slug'] : $submenuSlugNum), array($this->_frontController, 'showPageContent')); $submenuSlugNum++; } } } }