1. 首页
  2. WordPress 函数手册

get_admin_page_parent()

get_admin_page_parent( $parent =  )

获取当前管理页的父文件。
Gets the parent file of the current admin page.

目录锚点:#返回#源码


返回(Return)

(string)当前管理页的父文件。


源码(Source)

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 '';
}
更新版本 源码位置 使用 被使用
1.5.0 wp-admin/includes/plugin.php:1826 3 0

get_admin_page_parent() 为WP2原创文章,链接:https://www.wp2.cn/functions/get_admin_page_parent/

发表评论

您的电子邮箱地址不会被公开。