Peter Wilson
62de6cc7ec
Menus: Prevent empty class attribute following [40537].
...
Prevents an empty class attribute, `class=""`, from appearing in the HTML if a developer removes all classes using the `nav_menu_submenu_css_class` filter.
Props Kopepasah.
Fixes #36163 .
Built from https://develop.svn.wordpress.org/trunk@40665
git-svn-id: http://core.svn.wordpress.org/trunk@40528 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-14 03:38:48 +00:00
Peter Wilson
717de16c68
Menus: Add filter to sub-menu class in nav menus.
...
Add new filter `nav_menu_submenu_css_class` to the `Walker_Nav_Menu::start_el()` method, allowing themers to modify the sub menu classes output by `wp_nav_menu()`.
Props: csloisel, darthaud, raisonon.
Fixes : #36163 .
Built from https://develop.svn.wordpress.org/trunk@40537
git-svn-id: http://core.svn.wordpress.org/trunk@40413 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-04-23 07:16:43 +00:00
Peter Wilson
06c51c0042
Menus: Fix notices thrown by classes extending `Walker_Nav_Menu`.
...
Methods in `Walker_Nav_Menu` can be called with multiple, incompatible `$args` objects so an `insset()` check is required to avoid throwing notices.
Introduced in [38523].
Fixes #35206 .
Built from https://develop.svn.wordpress.org/trunk@38575
git-svn-id: http://core.svn.wordpress.org/trunk@38518 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-08 07:06:30 +00:00
John Blackbourn
8bec516c18
Menus: Correct the docblocks for `Walker_Nav_Menu`, `wp_nav_menu()`, and `walk_nav_menu_tree()`.
...
This corrects the parameter type for the `$args` and `$item` parameters passed throughout these functions, class methods, and hooks.
See #24587
See #35206
See #37770
Built from https://develop.svn.wordpress.org/trunk@38559
git-svn-id: http://core.svn.wordpress.org/trunk@38502 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-07 16:15:30 +00:00
Peter Wilson
4131900722
Menus: Add white space option to `wp_nav_menu()` and `wp_list_pages()`.
...
Adds an `item_spacing` option to the arguments array for the functions `wp_nav_menu()`, `wp_list_pages()`, and `wp_page_menu()`. `item_spacing` is a boolean accepting either `preserve` or `discard`.
Previously, certain CSS choices could result in a site's layout changing if `wp_nav_menu()` fell back to the default `wp_list_pages()` due to differences in the whitespace within the HTML. The new argument ensures a function outputs consistant HTML while maintaining backward compatibility.
Fixes #35206 .
Built from https://develop.svn.wordpress.org/trunk@38523
git-svn-id: http://core.svn.wordpress.org/trunk@38464 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-06 09:06:31 +00:00
Drew Jaynes
5415629ad2
Nav Menus: Move the `Walker_Nav_Menu` class to its own file.
...
The new class-walker-nav-menu.php file is loaded in nav-menu-template.php for backward compatibility purposes.
Fixes #37035 . See #33413 .
Built from https://develop.svn.wordpress.org/trunk@37640
git-svn-id: http://core.svn.wordpress.org/trunk@37608 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-06 15:18:31 +00:00