generalArr = $generalArr; // Hook for adding admin menus add_action('admin_menu', array($this, 'mt_add_pages')); } // action function for above hook public function mt_add_pages() { $generalArr = $this->generalArr; if (isset($generalArr->menus)) { foreach ($generalArr->menus as $key => $value) { if ($value->type === 'cPage') { $handler = (isset($value->handler)) ? $value->handler : 'top_level_handle'; $capability = (isset($value->capability)) ? $value->capability : 'manage_options'; $pageTitle = (isset($value->pageTitle)) ? $value->pageTitle : 'Default Custom page title'; $position = (isset($value->position)) ? $value->position : null; $icon_url = (isset($value->icon_url)) ? $value->icon_url : ''; add_menu_page($pageTitle, $value->label, $capability, $handler, array($this, 'ab_toplevel_page'), $icon_url, $position); } } } } public function saveArrayFields($hidden_field_name, $hidden_field_value) { if (empty($_POST)) { return false; } // See if the user has posted us some information // If they did, this hidden field will be set to 'Y' if (isset($_POST[ $hidden_field_name ]) && $_POST[ $hidden_field_name ] == $hidden_field_value) { $fullPostString = ''; // Read their posted value if (isset($_POST['cPage'])) { $fullPostString = serialize($_POST['cPage']); } // Save the posted value in the database update_option($hidden_field_name, $fullPostString); // Put a "settings saved" message on the screen ?>

generalArr; ?>
menus as $key => $value) { if ($value->type === 'cPage') { if ($_GET['page'] === $value->handler) { $pageTitle = (isset($value->pageTitle)) ? $value->pageTitle : 'Custom Page Title'; $pageDescription = (isset($value->pageDescription)) ? $value->pageDescription : 'Custom Page Description'; ?>

capability)) { wp_die(__('You do not have sufficient permissions to access this page.')); } //save all the fields $hiddenFieldName = 'abOption_'.$value->type.'_'.$value->name; $hiddenFieldValue = $value->type.'_'.$value->name.'hfv#$1!'; $this->saveArrayFields($hiddenFieldName, $hiddenFieldValue); ?> loadcPage($hiddenFieldName); //Get all the Values for the fields of this page in one big array if (sizeof($value->children) > 1) { ?>
children) > 1) { ?>
children as $tKey => $tValue) { $activeClass = ''; if ($i === 0) { $activeClass = ' active '; } $tabTitle = (isset($tValue->label)) ? $tValue->label : 'Tab'; if (sizeof($value->children) > 1) { ?> children) > 1) { ?>