Gets the URL to access a particular menu page based on the slug it was registered with.
Description
If the slug hasn’t been registered properly, no URL will be returned.
Parameters
$menu_slug
stringrequired- The slug name to refer to this menu by (should be unique for this menu).
$display
booloptional- Whether or not to display the URL.
Default:
true
Source
function menu_page_url( $menu_slug, $display = true ) {
global $_parent_pages;
if ( isset( $_parent_pages[ $menu_slug ] ) ) {
$parent_slug = $_parent_pages[ $menu_slug ];
if ( $parent_slug && ! isset( $_parent_pages[ $parent_slug ] ) ) {
$url = admin_url( add_query_arg( 'page', $menu_slug, $parent_slug ) );
} else {
$url = admin_url( 'admin.php?page=' . $menu_slug );
}
} else {
$url = '';
}
$url = esc_url( $url );
if ( $display ) {
echo $url;
}
return $url;
}
Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |
We can use this function to add a sub-menu under the existing parent menu.