menu_page_url( string $menu_slug, bool $echo = true )

Get 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

(string) (Required) The slug name to refer to this menu by (should be unique for this menu)

$echo

(bool) (Optional) Whether or not to echo the url

  • default is true

Default value: true


Return

(string) the url


Source

File: wp-admin/includes/plugin.php

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;
}


Changelog

Changelog
Version Description
WP-3.0.0 Introduced.