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 Description

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


Top ↑

Parameters 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 value: true


Top ↑

Return Return

(string) The menu page URL.


Top ↑

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


Top ↑

Changelog Changelog

Changelog
Version Description
3.0.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.