Esempio n. 1
0
 /**
  * Construct plugin's settings page URL.
  *
  * @author Vova Feldman (@svovaf)
  * @since  1.0.4
  *
  * @param string $page
  * @param array  $params
  *
  * @return string
  */
 function _get_admin_page_url($page = '', $params = array())
 {
     if (empty($page) && !$this->_menu->is_top_level()) {
         // If not a Top-Level menu and asking for main settings page,
         // then try to replicate plugin's main setting original page URL.
         switch ($this->_menu->get_type()) {
             case 'tools':
                 return add_query_arg(array('page' => $this->_menu->get_raw_slug()), admin_url('tools.php'));
             case 'settings':
                 return add_query_arg(array('page' => $this->_menu->get_raw_slug()), admin_url('options-general.php'));
         }
     }
     if ($this->_menu->is_cpt()) {
         if (empty($page) && $this->is_activation_mode()) {
             return add_query_arg(array_merge($params, array('page' => $this->_menu->get_raw_slug())), admin_url('admin.php', 'admin'));
         } else {
             if (!empty($page)) {
                 $params['page'] = trim("{$this->_menu->get_raw_slug()}-{$page}", '-');
             }
             return add_query_arg(array_merge($params, array('post_type' => $this->_menu->get_raw_slug())), admin_url('edit.php', 'admin'));
         }
     } else {
         if (false === strpos($this->_menu->get_raw_slug(), '.php?')) {
             return add_query_arg(array_merge($params, array('page' => trim("{$this->_menu->get_raw_slug()}-{$page}", '-'))), admin_url('admin.php', 'admin'));
         } else {
             return add_query_arg(array_merge($params, array('page' => trim("{$this->_slug}-{$page}", '-'))), admin_url('admin.php', 'admin'));
         }
     }
 }
Esempio n. 2
0
 /**
  * Construct plugin's settings page URL.
  *
  * @author Vova Feldman (@svovaf)
  * @since  1.0.4
  *
  * @param string $page
  * @param array  $params
  *
  * @return string
  */
 function _get_admin_page_url($page = '', $params = array())
 {
     if (0 < count($params)) {
         foreach ($params as $k => $v) {
             $params[$k] = urlencode($v);
         }
     }
     if (!$this->_menu->is_top_level()) {
         $parent_slug = $this->_menu->get_parent_slug();
         $menu_file = false !== strpos($parent_slug, '.php') ? $parent_slug : 'admin.php';
         return add_query_arg(array_merge($params, array('page' => $this->_menu->get_slug($page))), admin_url($menu_file, 'admin'));
     }
     if ($this->_menu->is_cpt()) {
         if (empty($page) && $this->is_activation_mode()) {
             return add_query_arg(array_merge($params, array('page' => $this->_menu->get_slug())), admin_url('admin.php', 'admin'));
         } else {
             if (!empty($page)) {
                 $params['page'] = $this->_menu->get_slug($page);
             }
             return add_query_arg($params, admin_url($this->_menu->get_raw_slug(), 'admin'));
         }
     } else {
         return add_query_arg(array_merge($params, array('page' => $this->_menu->get_slug($page))), admin_url('admin.php', 'admin'));
     }
 }
 /**
  * Construct plugin's settings page URL.
  *
  * @author Vova Feldman (@svovaf)
  * @since  1.0.4
  *
  * @param string $page
  * @param array  $params
  *
  * @return string
  */
 function _get_admin_page_url($page = '', $params = array())
 {
     if (!$this->_menu->is_top_level()) {
         $parent_slug = $this->_menu->get_parent_slug();
         $menu_file = false !== strpos($parent_slug, '.php') ? $parent_slug : 'admin.php';
         return add_query_arg(array_merge($params, array('page' => $this->_menu->get_slug($page))), admin_url($menu_file, 'admin'));
         // If not a Top-Level menu and asking for main settings page,
         // then try to replicate plugin's main setting original page URL.
         /*switch ( $this->_menu->get_type() ) {
         			case 'tools':
         				return add_query_arg( array_merge( $params, array(
         					'page' => $this->_menu->get_raw_slug(),
         				) ), admin_url( 'tools.php' ) );
         			case 'settings':
         				return add_query_arg( array_merge( $params, array(
         					'page' => $this->_menu->get_raw_slug(),
         				) ), admin_url( 'options-general.php' ) );
         		}*/
     }
     if ($this->_menu->is_cpt()) {
         if (empty($page) && $this->is_activation_mode()) {
             return add_query_arg(array_merge($params, array('page' => $this->_menu->get_slug())), admin_url('admin.php', 'admin'));
         } else {
             if (!empty($page)) {
                 $params['page'] = $this->_menu->get_slug($page);
             }
             return add_query_arg($params, admin_url($this->_menu->get_raw_slug(), 'admin'));
         }
     } else {
         return add_query_arg(array_merge($params, array('page' => $this->_menu->get_slug($page))), admin_url('admin.php', 'admin'));
     }
 }