WordPress.org

Make WordPress Core

Opened 4 years ago

Last modified 8 months ago

#13998 new enhancement

Inconsistency in arguments when wp_nav_menu falls back to wp_page_menu

Reported by: Utkarsh Owned by:
Milestone: Future Release Priority: normal
Severity: normal Version: 3.0
Component: Menus Keywords: has-patch
Focuses: Cc:

Description

wp_nav_menu's 'menu_class' parameter applies the class to the <ul>.

The default fallback function wp_page_menu however, applies 'menu_class' to the <div> enclosing the <ul>.

This can cause inconsistent styles if the style is applied to ul.<menu class>

Attachments (3)

13998_wp_page_menu_incosistence.patch (1.3 KB) - added by Sanjo 3 years ago.
wp_page_menu() has now a container_class and a menu_class argument that are identical to wp_nav_menu.
13998_wp_page_menu_incosistence_2.patch (2.0 KB) - added by Sanjo 3 years ago.
Added documentation
13998.patch (5.3 KB) - added by Frank Klein 8 months ago.

Download all attachments as: .zip

Change History (10)

comment:1 nacin4 years ago

Related #13979

comment:2 nacin3 years ago

  • Milestone changed from Awaiting Review to 3.1

comment:3 nacin3 years ago

  • Keywords needs-patch added

Needs patch or punt.

Sanjo3 years ago

wp_page_menu() has now a container_class and a menu_class argument that are identical to wp_nav_menu.

comment:4 Sanjo3 years ago

  • Keywords has-patch added; needs-patch removed

Sanjo3 years ago

Added documentation

comment:5 nacin3 years ago

  • Keywords needs-patch added; dev-feedback has-patch removed

We can't change how wp_page_menu() works. We'll need to add a ul_class argument to wp_page_menu and re-map menu_class to ul_class in wp_nav_menu before passing it to wp_page_menu.

comment:6 nacin3 years ago

  • Milestone changed from 3.1 to Future Release
  • Type changed from defect (bug) to enhancement

Frank Klein8 months ago

comment:7 Frank Klein8 months ago

  • Cc contact@… added
  • Keywords has-patch added; needs-patch removed

The updated patch with contains the following elements:

  • Add a ul_class argument to wp_page_menu.
  • Remap the menu_class from wp_nav_menu to ul_class before passing it to wp_page_menu.
  • Updated inline documentation.
  • Some whitespace fixes and other code standards adaptations.

I think that there are other possible enhancements that can be added to the wp_page_menu function, specifically some of the arguments used by wp_nav_menu such as:

  • container
  • container_id
  • menu_id
  • before
  • after
  • items_wrap
  • depth

As far as I see, it should be possible to implement these arguments in wp_page_menu as well without breaking existing themes. I think especially the depth argument might be a worthwhile addition, what do you think?

Note: See TracTickets for help on using tickets.