WordPress.org

Make WordPress Core

Opened 4 years ago

Last modified 2 months ago

#14159 new defect (bug)

menu_page_url not returning correct URL for custom submenus

Reported by: williamsba1 Owned by:
Milestone: Future Release Priority: normal
Severity: normal Version: 3.0
Component: Plugins Keywords: has-patch
Focuses: administration Cc:

Description

When using the menu_page_url() function to determine the URL to a submenu of a custom top-level menu it's not returning the correct URL.

The function returns:
http://example.com/wp-admin/cpt_main_menu?page=cpt_sub_add_new

The correct URL is:
http://example.com/wp-admin/admin.php?page=cpt_sub_add_new

For reference my submenu is registered like so:

add_submenu_page('cpt_main_menu', 'Add New', 'Add New', 'administrator', 'cpt_sub_add_new', 'cpt_add_new');

I tested this on the custom top level menu and the URL returned is correct. It only appears to be an issue with submenus of a custom top level menu

Attachments (1)

14159.diff (3.1 KB) - added by duck_ 3 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 nacin3 years ago

  • Cc westi added
  • Component changed from General to Plugins
  • Milestone changed from Awaiting Review to 3.1

duck_3 years ago

comment:2 duck_3 years ago

  • Keywords has-patch added

If the menu item's parent is unset then it's a submenu of a builtin menu otherwise it also has an admin.php URL.

Was also thinking of trying to get menu_page_url to work for the predefined menu slugs (e.g. tools.php)

Updated unit-tests at #UT10

comment:3 nacin3 years ago

(In [16829]) Fix menu_page_url() for submenu pages attached to custom menu pages. props duck_, see #14159.

comment:4 nacin3 years ago

Was also thinking of trying to get menu_page_url to work for the predefined menu slugs (e.g. tools.php)

Future?

comment:5 nacin3 years ago

  • Milestone changed from 3.1 to Future Release

comment:6 nacin2 months ago

  • Component changed from Plugins to Admin APIs
  • Focuses administration added

comment:7 nacin2 months ago

  • Component changed from Admin APIs to Plugins

Sorry for the noise.

Note: See TracTickets for help on using tickets.