get_admin_page_parent

The timeline below displays how wordpress function get_admin_page_parent has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

//
// Pluggable Menu Support -- Private.
//
/**
 * Gets the parent file of the current admin page.
 *
 * @since 1.5.0
 *
 * @global string $parent_file
 * @global array  $menu
 * @global array  $submenu
 * @global string $pagenow              The filename of the current screen.
 * @global string $typenow              The post type of the current screen.
 * @global string $plugin_page
 * @global array  $_wp_real_parent_file
 * @global array  $_wp_menu_nopriv
 * @global array  $_wp_submenu_nopriv
 *
 * @param string $parent_page Optional. The slug name for the parent menu (or the file name
 *                            of a standard WordPress admin page). Default empty string.
 * @return string The parent file of the current admin page.
 */
function get_admin_page_parent($parent_page = '')
{
    global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
    if (!empty($parent_page) && 'admin.php' !== $parent_page) {
        if (isset($_wp_real_parent_file[$parent_page])) {
            $parent_page = $_wp_real_parent_file[$parent_page];
        }
        return $parent_page;
    }
    if ('admin.php' === $pagenow && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] === $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent_page) {
        foreach ($submenu[$parent_page] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent_page])) {
                $parent_page = $_wp_real_parent_file[$parent_page];
            }
            if (!empty($typenow) && "{$pagenow}?post_type={$typenow}" === $submenu_array[2]) {
                $parent_file = $parent_page;
                return $parent_page;
            } elseif (empty($typenow) && $pagenow === $submenu_array[2] && (empty($parent_file) || !str_contains($parent_file, '?'))) {
                $parent_file = $parent_page;
                return $parent_page;
            } elseif (isset($plugin_page) && $plugin_page === $submenu_array[2]) {
                $parent_file = $parent_page;
                return $parent_page;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 6.1

//
// Pluggable Menu Support -- Private.
//
/**
 * Gets the parent file of the current admin page.
 *
 * @since 1.5.0
 *
 * @global string $parent_file
 * @global array  $menu
 * @global array  $submenu
 * @global string $pagenow              The filename of the current screen.
 * @global string $typenow              The post type of the current screen.
 * @global string $plugin_page
 * @global array  $_wp_real_parent_file
 * @global array  $_wp_menu_nopriv
 * @global array  $_wp_submenu_nopriv
 *
 * @param string $parent_page Optional. The slug name for the parent menu (or the file name
 *                            of a standard WordPress admin page). Default empty string.
 * @return string The parent file of the current admin page.
 */
function get_admin_page_parent($parent_page = '')
{
    global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
    if (!empty($parent_page) && 'admin.php' !== $parent_page) {
        if (isset($_wp_real_parent_file[$parent_page])) {
            $parent_page = $_wp_real_parent_file[$parent_page];
        }
        return $parent_page;
    }
    if ('admin.php' === $pagenow && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] === $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent_page) {
        foreach ($submenu[$parent_page] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent_page])) {
                $parent_page = $_wp_real_parent_file[$parent_page];
            }
            if (!empty($typenow) && "{$pagenow}?post_type={$typenow}" === $submenu_array[2]) {
                $parent_file = $parent_page;
                return $parent_page;
            } elseif (empty($typenow) && $pagenow === $submenu_array[2] && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent_page;
                return $parent_page;
            } elseif (isset($plugin_page) && $plugin_page === $submenu_array[2]) {
                $parent_file = $parent_page;
                return $parent_page;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 5.6

//
// Pluggable Menu Support -- Private.
//
/**
 * Gets the parent file of the current admin page.
 *
 * @since 1.5.0
 *
 * @global string $parent_file
 * @global array  $menu
 * @global array  $submenu
 * @global string $pagenow
 * @global string $typenow
 * @global string $plugin_page
 * @global array  $_wp_real_parent_file
 * @global array  $_wp_menu_nopriv
 * @global array  $_wp_submenu_nopriv
 *
 * @param string $parent The slug name for the parent menu (or the file name of a standard
 *                       WordPress admin page). Default empty string.
 * @return string The parent file of the current admin page.
 */
function get_admin_page_parent($parent = '')
{
    global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' !== $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    if ('admin.php' === $pagenow && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] === $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && "{$pagenow}?post_type={$typenow}" === $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            } elseif (empty($typenow) && $pagenow === $submenu_array[2] && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } elseif (isset($plugin_page) && $plugin_page === $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 5.5

//
// Pluggable Menu Support -- Private.
//
/**
 * Gets the parent file of the current admin page.
 *
 * @since 1.5.0
 *
 * @global string $parent_file
 * @global array  $menu
 * @global array  $submenu
 * @global string $pagenow
 * @global string $typenow
 * @global string $plugin_page
 * @global array  $_wp_real_parent_file
 * @global array  $_wp_menu_nopriv
 * @global array  $_wp_submenu_nopriv
 *
 * @param string $parent The slug name for the parent menu (or the file name of a standard
 *                       WordPress admin page). Default empty string.
 * @return string The parent file of the current admin page.
 */
function get_admin_page_parent($parent = '')
{
    global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' !== $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    if ('admin.php' === $pagenow && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] == $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && "{$pagenow}?post_type={$typenow}" === $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            } elseif ($submenu_array[2] == $pagenow && empty($typenow) && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } elseif (isset($plugin_page) && $plugin_page == $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 5.4

//
// Pluggable Menu Support -- Private.
//
/**
 * Gets the parent file of the current admin page.
 *
 * @since 1.5.0
 *
 * @global string $parent_file
 * @global array $menu
 * @global array $submenu
 * @global string $pagenow
 * @global string $typenow
 * @global string $plugin_page
 * @global array $_wp_real_parent_file
 * @global array $_wp_menu_nopriv
 * @global array $_wp_submenu_nopriv
 *
 * @return string The parent file of the current admin page.
 */
function get_admin_page_parent($parent = '')
{
    global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' != $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    if ('admin.php' === $pagenow && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] == $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && "{$pagenow}?post_type={$typenow}" === $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            } elseif ($submenu_array[2] == $pagenow && empty($typenow) && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } elseif (isset($plugin_page) && $plugin_page == $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 5.2

//
// Pluggable Menu Support -- Private
//
/**
 * @global string $parent_file
 * @global array $menu
 * @global array $submenu
 * @global string $pagenow
 * @global string $typenow
 * @global string $plugin_page
 * @global array $_wp_real_parent_file
 * @global array $_wp_menu_nopriv
 * @global array $_wp_submenu_nopriv
 *
 * @return string
 */
function get_admin_page_parent($parent = '')
{
    global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' != $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    if ($pagenow == 'admin.php' && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] == $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && $submenu_array[2] == "{$pagenow}?post_type={$typenow}") {
                $parent_file = $parent;
                return $parent;
            } elseif ($submenu_array[2] == $pagenow && empty($typenow) && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } elseif (isset($plugin_page) && $plugin_page == $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 5.1

//
// Pluggable Menu Support -- Private
//
/**
 * @global string $parent_file
 * @global array $menu
 * @global array $submenu
 * @global string $pagenow
 * @global string $typenow
 * @global string $plugin_page
 * @global array $_wp_real_parent_file
 * @global array $_wp_menu_nopriv
 * @global array $_wp_submenu_nopriv
 */
function get_admin_page_parent($parent = '')
{
    global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' != $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    if ($pagenow == 'admin.php' && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] == $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && $submenu_array[2] == "{$pagenow}?post_type={$typenow}") {
                $parent_file = $parent;
                return $parent;
            } elseif ($submenu_array[2] == $pagenow && empty($typenow) && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } elseif (isset($plugin_page) && $plugin_page == $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 4.4

//
// Pluggable Menu Support -- Private
//
/**
 *
 * @global string $parent_file
 * @global array $menu
 * @global array $submenu
 * @global string $pagenow
 * @global string $typenow
 * @global string $plugin_page
 * @global array $_wp_real_parent_file
 * @global array $_wp_menu_nopriv
 * @global array $_wp_submenu_nopriv
 */
function get_admin_page_parent($parent = '')
{
    global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' != $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    if ($pagenow == 'admin.php' && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] == $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && $submenu_array[2] == "{$pagenow}?post_type={$typenow}") {
                $parent_file = $parent;
                return $parent;
            } elseif ($submenu_array[2] == $pagenow && empty($typenow) && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } elseif (isset($plugin_page) && $plugin_page == $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 4.3

//
// Pluggable Menu Support -- Private
//
/**
 *
 * @global string $parent_file
 * @global array $menu
 * @global array $submenu
 * @global string $pagenow
 * @global string $typenow
 * @global string $plugin_page
 * @global string $_wp_real_parent_file
 * @global array $_wp_menu_nopriv
 * @global array $_wp_submenu_nopriv
 */
function get_admin_page_parent($parent = '')
{
    global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' != $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    if ($pagenow == 'admin.php' && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] == $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && $submenu_array[2] == "{$pagenow}?post_type={$typenow}") {
                $parent_file = $parent;
                return $parent;
            } elseif ($submenu_array[2] == $pagenow && empty($typenow) && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } elseif (isset($plugin_page) && $plugin_page == $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 4.2

//
// Pluggable Menu Support -- Private
//
function get_admin_page_parent($parent = '')
{
    global $parent_file;
    global $menu;
    global $submenu;
    global $pagenow;
    global $typenow;
    global $plugin_page;
    global $_wp_real_parent_file;
    global $_wp_menu_nopriv;
    global $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' != $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    if ($pagenow == 'admin.php' && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] == $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && $submenu_array[2] == "{$pagenow}?post_type={$typenow}") {
                $parent_file = $parent;
                return $parent;
            } elseif ($submenu_array[2] == $pagenow && empty($typenow) && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } elseif (isset($plugin_page) && $plugin_page == $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 3.9

//
// Pluggable Menu Support -- Private
//
function get_admin_page_parent($parent = '')
{
    global $parent_file;
    global $menu;
    global $submenu;
    global $pagenow;
    global $typenow;
    global $plugin_page;
    global $_wp_real_parent_file;
    global $_wp_menu_nopriv;
    global $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' != $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    if ($pagenow == 'admin.php' && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] == $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && $submenu_array[2] == "{$pagenow}?post_type={$typenow}") {
                $parent_file = $parent;
                return $parent;
            } elseif ($submenu_array[2] == $pagenow && empty($typenow) && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } else if (isset($plugin_page) && $plugin_page == $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}

WordPress Version: 3.7

//
// Pluggable Menu Support -- Private
//
function get_admin_page_parent($parent = '')
{
    global $parent_file;
    global $menu;
    global $submenu;
    global $pagenow;
    global $typenow;
    global $plugin_page;
    global $_wp_real_parent_file;
    global $_wp_menu_nopriv;
    global $_wp_submenu_nopriv;
    if (!empty($parent) && 'admin.php' != $parent) {
        if (isset($_wp_real_parent_file[$parent])) {
            $parent = $_wp_real_parent_file[$parent];
        }
        return $parent;
    }
    /*
    if ( !empty ( $parent_file ) ) {
    	if ( isset( $_wp_real_parent_file[$parent_file] ) )
    		$parent_file = $_wp_real_parent_file[$parent_file];
    
    	return $parent_file;
    }
    */
    if ($pagenow == 'admin.php' && isset($plugin_page)) {
        foreach ((array) $menu as $parent_menu) {
            if ($parent_menu[2] == $plugin_page) {
                $parent_file = $plugin_page;
                if (isset($_wp_real_parent_file[$parent_file])) {
                    $parent_file = $_wp_real_parent_file[$parent_file];
                }
                return $parent_file;
            }
        }
        if (isset($_wp_menu_nopriv[$plugin_page])) {
            $parent_file = $plugin_page;
            if (isset($_wp_real_parent_file[$parent_file])) {
                $parent_file = $_wp_real_parent_file[$parent_file];
            }
            return $parent_file;
        }
    }
    if (isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page])) {
        $parent_file = $pagenow;
        if (isset($_wp_real_parent_file[$parent_file])) {
            $parent_file = $_wp_real_parent_file[$parent_file];
        }
        return $parent_file;
    }
    foreach (array_keys((array) $submenu) as $parent) {
        foreach ($submenu[$parent] as $submenu_array) {
            if (isset($_wp_real_parent_file[$parent])) {
                $parent = $_wp_real_parent_file[$parent];
            }
            if (!empty($typenow) && $submenu_array[2] == "{$pagenow}?post_type={$typenow}") {
                $parent_file = $parent;
                return $parent;
            } elseif ($submenu_array[2] == $pagenow && empty($typenow) && (empty($parent_file) || false === strpos($parent_file, '?'))) {
                $parent_file = $parent;
                return $parent;
            } else if (isset($plugin_page) && $plugin_page == $submenu_array[2]) {
                $parent_file = $parent;
                return $parent;
            }
        }
    }
    if (empty($parent_file)) {
        $parent_file = '';
    }
    return '';
}