Beispiel #1
0
 /**
  * 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'));
 }