[wp-trac] [WordPress Trac] #36163: Make Walker_Nav_Menu::start_lvl more flexible by introducing filters for class name(s) at least

WordPress Trac noreply at wordpress.org
Thu Feb 2 20:51:29 UTC 2017


#36163: Make Walker_Nav_Menu::start_lvl more flexible by introducing filters for
class name(s) at least
-------------------------------+------------------------------
 Reporter:  ruslik             |       Owner:
     Type:  enhancement        |      Status:  new
 Priority:  normal             |   Milestone:  Awaiting Review
Component:  Menus              |     Version:
 Severity:  normal             |  Resolution:
 Keywords:  reporter-feedback  |     Focuses:
-------------------------------+------------------------------

Comment (by ruslik):

 Sure.

 So currently if user/theme developer want to customize Navigation output,
 she/he has two options (as I'm aware of):
 1. Extend `Walker_Nav_Menu` class and overwrite its methods (which in some
 cases maybe an overkill).
 2. Hook into the following filters which unfortunately only defined for
 nav item markup output.
     * [https://core.trac.wordpress.org/browser/trunk/src/wp-includes
 /class-walker-nav-menu.php#L123 nav_menu_item_args]
     * [https://core.trac.wordpress.org/browser/trunk/src/wp-includes
 /class-walker-nav-menu.php#L136 nav_menu_css_class]
     * [https://core.trac.wordpress.org/browser/trunk/src/wp-includes
 /class-walker-nav-menu.php#L150 nav_menu_item_id]
     * [https://core.trac.wordpress.org/browser/trunk/src/wp-includes
 /class-walker-nav-menu.php#L179 nav_menu_link_attributes]
     * [https://core.trac.wordpress.org/browser/trunk/src/wp-includes
 /class-walker-nav-menu.php#L202 nav_menu_item_title]
     * [https://core.trac.wordpress.org/browser/trunk/src/wp-includes
 /class-walker-nav-menu.php#L224 walker_nav_menu_start_el]

 So we have a bunch of hooks that allow us to customize item markup, but
 zero for level markup. I think it would be helpful to introduce similar
 filter hooks for `start_lvl` method, which responsible for `ul` markup.

 Hope it clears things a little bit, and make sense. Thanks.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/36163#comment:4>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list