/** * 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')); } } }
/** * 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')); } }