Ejemplo n.º 1
0
 /**
  * Initialize WR MegaMenu admin menu.
  *
  * @return  void
  */
 public static function init()
 {
     global $pagenow;
     // Get product information
     $plugin = WR_Megamenu_Product_Info::get(WR_MEGAMENU_IDENTIFIED_NAME);
     // Generate menu title
     $menu_title = __('WR MegaMenu', WR_MEGAMENU_TEXTDOMAIN);
     if (isset($plugin['Available_Update']) && $plugin['Available_Update'] && ('admin.php' != $pagenow || !isset($_GET['page']) || !in_array($_GET['page'], self::$pages))) {
         $menu_title .= " <span class='wr-available-updates update-plugins count-{$plugin['Available_Update']}'><span class='pending-count'>{$plugin['Available_Update']}</span></span>";
     }
     $menu = array('page_title' => __($menu_title, WR_MEGAMENU_TEXTDOMAIN), 'menu_title' => __('Settings', WR_MEGAMENU_TEXTDOMAIN), 'capability' => 'manage_options', 'menu_slug' => 'wr-megamenu-settings', 'function' => array(__CLASS__, 'settings'));
     /*
     WR_Megamenu_Init_Admin_Menu::add( $menu , 'edit.php?post_type=wr_megamenu_profile' );
     */
     if (@$plugin['Addons']) {
         // Generate menu title
         $menu_title = __('Add-ons', WR_MEGAMENU_TEXTDOMAIN);
         if (@$plugin['Available_Update'] && ('admin.php' == $pagenow && isset($_GET['page']) && in_array($_GET['page'], self::$pages))) {
             $menu_title .= " <span class='wr-available-updates update-plugins count-{$plugin['Available_Update']}'><span class='pending-count'>{$plugin['Available_Update']}</span></span>";
         }
         // Update admin menus
         $menu = array('page_title' => __('WR MegaMenu - Add-ons', WR_MEGAMENU_TEXTDOMAIN), 'menu_title' => $menu_title, 'capability' => 'manage_options', 'menu_slug' => 'wr-menu-addons', 'function' => array(__CLASS__, 'addons'));
         WR_Megamenu_Init_Admin_Menu::add($menu, 'edit.php?post_type=wr_megamenu_profile');
     }
     WR_Megamenu_Init_Admin_Menu::add(array('page_title' => __('WR MegaMenu - About', WR_MEGAMENU_TEXTDOMAIN), 'menu_title' => __('About', WR_MEGAMENU_TEXTDOMAIN), 'capability' => 'manage_options', 'menu_slug' => 'wr-megamenu-about-us', 'function' => array(__CLASS__, 'about_us')), 'edit.php?post_type=wr_megamenu_profile');
 }
Ejemplo n.º 2
0
 /**
  * Initialize WR Sample plugin.
  *
  * @return  void
  */
 public static function init()
 {
     global $wp_widget_factory, $mega_menu, $wr_megamenu_element, $wr_megamenu_widgets;
     // Init neccessary WR Library classes
     WR_Megamenu_Init_Admin_Menu::hook();
     // Load required assets
     WR_Megamenu_Assets::init();
     WR_Megamenu_Init_Assets::hook();
     // Load update simulator
     WR_Megamenu_Update_Simulator::hook();
     // Init element
     $wr_megamenu_element = new WR_Megamenu_Element();
     $wr_megamenu_element->init();
     //
     if (is_admin()) {
         $mega_menu = new WR_Megamenu_Core_Backend();
         // Insert WooRockets banner
         global $pagenow;
         $post_type = '';
         if ($pagenow == 'post-new.php' && isset($_REQUEST['post_type'])) {
             $post_type = $_REQUEST['post_type'];
         } elseif ($pagenow == 'post.php' && isset($_REQUEST['post'])) {
             $post_type = get_post_type($_REQUEST['post']);
         }
         if ($post_type == 'wr_megamenu_profile') {
             self::insert_banner();
         }
     } else {
         // Process menu frontend
         $frontend = new WR_Megamenu_Core_Frontend();
         $frontend->apply_megamenu();
     }
     // Register 'admin_menu' action
     add_action('admin_menu', array(__CLASS__, 'admin_menu'));
     // Register 'wr_mm_installed_product' filter
     add_filter('wr_mm_installed_product', array(__CLASS__, 'register_product'));
     // Initialize widget support
     $wr_megamenu_widgets = !empty($wr_megamenu_widgets) ? $wr_megamenu_widgets : WR_Megamenu_Helpers_Functions::widgets();
 }
Ejemplo n.º 3
0
 /**
  * Manipulate WordPress admin menu.
  *
  * @return  void
  */
 public static function admin_menu()
 {
     global $menu, $submenu;
     // Filter menus to be registered
     self::$add = apply_filters('wr_register_admin_menu', self::$add);
     // Variable to hold menu position
     static $position;
     // Add menus
     foreach (self::$add as $entry) {
         if (isset($entry['parent_slug'])) {
             add_submenu_page($entry['parent_slug'], $entry['page_title'], $entry['menu_title'], $entry['capability'], $entry['menu_slug'], isset($entry['function']) ? $entry['function'] : '');
         } else {
             // Calculate menu position
             if (!isset($entry['position']) || empty($entry['position'])) {
                 if (!isset($position)) {
                     $position = 50;
                 } else {
                     $position++;
                 }
             }
             add_menu_page($entry['page_title'], $entry['menu_title'], $entry['capability'], $entry['menu_slug'], isset($entry['function']) && !empty($entry['function']) ? $entry['function'] : '', isset($entry['icon_url']) && !empty($entry['icon_url']) ? $entry['icon_url'] : '', isset($entry['position']) && !empty($entry['position']) ? $entry['position'] : $position);
         }
     }
     // Remove menus
     foreach (self::$remove as $menu_slug => $parent_slug) {
         if ($parent_slug) {
             remove_submenu_page($parent_slug, $menu_slug);
         } else {
             remove_menu_page($menu_slug);
         }
     }
     // Replace menus
     if (count(self::$replace)) {
         foreach (self::$replace as $label => $data) {
             // Get parent slug
             $parent_slug = array_keys($data);
             $parent_slug = array_shift($parent_slug);
             if ($parent_slug && isset($submenu[$parent_slug])) {
                 foreach ($submenu[$parent_slug] as $key => $value) {
                     if ($value[0] === $label) {
                         foreach ($data[$parent_slug] as $k => $v) {
                             $submenu[$parent_slug][$key][$k] = $v;
                         }
                     }
                 }
             } elseif ($parent_slug === 0) {
                 foreach ($menu as $key => $value) {
                     if ($value[0] === $label) {
                         foreach ($data[0] as $k => $v) {
                             $menu[$key][$k] = $v;
                         }
                     }
                 }
             }
         }
     }
 }