/** * register_admin_pages * Register admin pages to be added to the admin. * * @access public * @static * @since 1.0 */ public static function register_admin_pages() { /** * piklist_admin_pages * Register Admin pages with Piklist * * Allows for all custom Piklist parameters when registering an Admin or Settings page. * * @param array $post_types * * @since 1.0 */ self::$admin_pages = apply_filters('piklist_admin_pages', array()); foreach (self::$admin_pages as $page) { if (isset($page['capability_save'])) { piklist_admin::$capability_save = $page['capability_save']; add_filter("option_page_capability_{$page['setting']}", array('piklist_admin', 'option_page_capability')); } if (isset($page['sub_menu'])) { add_submenu_page($page['sub_menu'], $page['page_title'], $page['menu_title'], $page['capability'], $page['menu_slug'], array('piklist_admin', 'admin_page')); } else { $menu_icon = isset($page['menu_icon']) ? $page['menu_icon'] : (isset($page['icon_url']) ? $page['icon_url'] : null); add_menu_page($page['page_title'], $page['menu_title'], $page['capability'], $page['menu_slug'], array('piklist_admin', 'admin_page'), $menu_icon, isset($page['position']) ? $page['position'] : null); add_submenu_page($page['menu_slug'], $page['page_title'], $page['page_title'], $page['capability'], $page['menu_slug'], array('piklist_admin', 'admin_page')); } } foreach (self::$admin_pages as $page) { if (isset($page['layout']) && isset($_REQUEST['page']) && $page['menu_slug'] == (string) $_REQUEST['page']) { self::$admin_page_layout = $page['layout']; break; } } $data = array('title' => 'Title', 'page' => 'Page', 'order' => 'Order', 'position' => 'Position'); piklist::process_parts('admin-pages', $data, array('piklist_admin', 'register_admin_pages_callback')); }