WordPress Version: 5.5
/**
* Gets the hook name for the administrative page of a plugin.
*
* @since 1.5.0
*
* @global array $admin_page_hooks
*
* @param string $plugin_page The slug name of the plugin page.
* @param string $parent_page The slug name for the parent menu (or the file name of a standard
* WordPress admin page).
* @return string Hook name for the plugin page.
*/
function get_plugin_page_hookname($plugin_page, $parent_page)
{
global $admin_page_hooks;
$parent = get_admin_page_parent($parent_page);
$page_type = 'admin';
if (empty($parent_page) || 'admin.php' === $parent_page || isset($admin_page_hooks[$plugin_page])) {
if (isset($admin_page_hooks[$plugin_page])) {
$page_type = 'toplevel';
} elseif (isset($admin_page_hooks[$parent])) {
$page_type = $admin_page_hooks[$parent];
}
} elseif (isset($admin_page_hooks[$parent])) {
$page_type = $admin_page_hooks[$parent];
}
$plugin_name = preg_replace('!\.php!', '', $plugin_page);
return $page_type . '_page_' . $plugin_name;
}