A WordPress-centric search engine for devs and theme authors



menu_page_url ›

Since3.0.0
Deprecatedn/a
menu_page_url ( $menu_slug, $echo = true )
Parameters: (2)
  • (string) $menu_slug The slug name to refer to this menu by (should be unique for this menu)
    Required: Yes
  • (bool) $echo Whether or not to echo the url - default is true
    Required: No
    Default: true
Returns:
  • (string) the url
Defined at:
Codex:

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



Source

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