WordPress at Your Fingertips
function is not described

menu_page_url() WP 3.0.0

Get the URL to access a particular menu page based on the slug it was registered with.

If the slug hasn't been registered properly, no URL will be returned.

No Hooks.

Return

String. The menu page URL.

Usage

menu_page_url( $menu_slug, $echo );
$menu_slug(string) (required)
The slug name to refer to this menu by (should be unique for this menu).
$echo(true|false)
Whether or not to echo the URL.
Default: true

Notes

  • Global. Array. $_parent_pages

Changelog

Since 3.0.0 Introduced.

Code of menu_page_url() WP 5.8.2

function menu_page_url( $menu_slug, $echo = 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 ( $echo ) {
		echo $url;
	}

	return $url;
}