54 Commits

Author SHA1 Message Date
Weston Ruter
407a2bd076 Customize: Introduce customize_nav_menu_searched_items filter for modifying results of nav menu item searches.
This new filter can be used in conjunction with the `customize_nav_menu_available_items` and `customize_nav_menu_available_item_types` filters.

Props TimothyBlynJacobs, westonruter.
Fixes #34947.


git-svn-id: https://develop.svn.wordpress.org/trunk@36676 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 05:56:40 +00:00
Weston Ruter
56598b5f90 Customize: Prevent PHP notice and JS error caused by widgets and nav menus components if user only has customize capability.
Short-circuits components from initializing their hooks needlessly if current user lacks required capability.

Fixes #35895.


git-svn-id: https://develop.svn.wordpress.org/trunk@36611 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-22 05:30:30 +00:00
Weston Ruter
03360d143d Customize: Add selective refresh framework with implementation for widgets and re-implementation for nav menus.
See https://make.wordpress.org/core/2016/02/16/selective-refresh-in-the-customizer/.

Props westonruter, valendesigns, DrewAPicture, ocean90.
Fixes #27355.


git-svn-id: https://develop.svn.wordpress.org/trunk@36586 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 18:40:06 +00:00
Dominik Schilling (ocean90)
cc59bf5f3b Customizer: In nav menus show the location name instead of slug.
Props ryankienstra.
Fixes #34755.

git-svn-id: https://develop.svn.wordpress.org/trunk@36573 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 17:15:28 +00:00
Andrea Fercia
cde933e306 After [36171] remove all the occurrences of the old CSS clearfix.
The old clearfix was applied to very specific items and defined multiple times
across CSS files. Uses the new generic `.wp-clearfix` utility class instead.

See #26396.

git-svn-id: https://develop.svn.wordpress.org/trunk@36422 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-30 13:45:37 +00:00
Weston Ruter
304ab7c0e4 Customizer: Export nonce, theme, and url app settings in preview as exported in pane.
* Introduce `WP_Customize_Manager::get_nonces()` to consolidate logic for retrieving nonces.
* Export nonces centrally in `wp.customize.settings.nonce` with each request and update nav menus preview to utilize.
* Send updated nonces to preview upon `nonce-refresh`.
* Request full preview refresh if Nav Menu selective refresh request fails (e.g. due to bad nonce).
* Update nav menus and widgets in Customizer to utilize `customize_refresh_nonces` for exporting nonces and keeping them up to date.

See #27355.
Fixes #35617.


git-svn-id: https://develop.svn.wordpress.org/trunk@36414 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-27 17:54:39 +00:00
Weston Ruter
0e46055d5b Customizer: Add shift-click on nav menu items in preview to focus on corresponding nav menu item controls in pane.
Add missing `params.completeCallback` to `MenuItemControl.focus()` for parity with `Control.focus()`. Also adds `params` to `MenuItemControl.expandForm`, `MenuItemControl.collapseForm()`, and `MenuItemControl.toggleForm()`.

Props MattGeri, westonruter.
Fixes #32681.


git-svn-id: https://develop.svn.wordpress.org/trunk@36383 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-22 21:20:26 +00:00
Andrea Fercia
e23986bdb3 Accessibility: Remove title attributes from the Menus screen.
Also, adds missing labels and improves the existing ones. 
Updates the "custom links" labels and inputs in the Customizer too.
Introduces a generic, reusable, `.wp-initial-focus` CSS class to be used for
the sole purpose of setting the initial focus.
"Quick Search": uniform the attached events and avoids new AJAX requests to
be triggered when the pressed key doesn't change the searched term.

Fixes #35374.

git-svn-id: https://develop.svn.wordpress.org/trunk@36379 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-22 14:25:58 +00:00
Sergey Biryukov
b0e225b619 Customizer: Use correct context and translator comments for menu location strings.
See #33431.

git-svn-id: https://develop.svn.wordpress.org/trunk@35722 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-20 17:45:57 +00:00
Dominik Schilling (ocean90)
b8e615070c Customizer: Remove two unused strings.
Fixes #33632.

git-svn-id: https://develop.svn.wordpress.org/trunk@35694 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 22:11:13 +00:00
Scott Taylor
1d22015fb3 Customizer i18n: provide translator context for current menu name and location.
Props ryankienstra.
Fixes #33431.


git-svn-id: https://develop.svn.wordpress.org/trunk@35676 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 19:20:30 +00:00
Helen Hou-Sandi
6f1bb2ab67 Buttons: Standardize on .button-link for link-like buttons.
This serves as both a reset and some basic styling. The class name also aligns with parallel components in other popular projects.

props paulwilde for the initial patch.
fixes #34242.


git-svn-id: https://develop.svn.wordpress.org/trunk@35636 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-13 15:46:12 +00:00
Weston Ruter
46778fe2b0 Customize: Simplify condition for returning nav_menus_invalid_post_type error.
Props swissspidy.
See #16075.


git-svn-id: https://develop.svn.wordpress.org/trunk@35501 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-04 07:28:36 +00:00
Weston Ruter
5084a0b28a Customize: Add support for post_type_archive nav menu items.
Props celloexpressions, westonruter.
Fixes #16075.


git-svn-id: https://develop.svn.wordpress.org/trunk@35500 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-04 04:29:39 +00:00
Dominik Schilling (ocean90)
15ee0a44b2 Customizer: Use the plural label for available menu item types.
Fixes #33634.

git-svn-id: https://develop.svn.wordpress.org/trunk@34487 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-24 09:15:15 +00:00
Weston Ruter
d81ca65d4c Customize: Fix live previewing of menu changes on subdirectory installs.
Props adamsilverstein, westonruter.
Fixes #33916.


git-svn-id: https://develop.svn.wordpress.org/trunk@34278 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-18 05:46:53 +00:00
Sergey Biryukov
b73b9ed936 Customizer: Use existing decoupled strings in Menu Locations section. See [31941] and [31951].
props egill.
fixes #33416.

git-svn-id: https://develop.svn.wordpress.org/trunk@33741 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 21:52:45 +00:00
Helen Hou-Sandi
0999b0182b Customizer: Rename WP_New_Menu_Customize_Control to WP_Customize_New_Menu_Control for consistency.
props DrewAPicture.
fixes #33324.


git-svn-id: https://develop.svn.wordpress.org/trunk@33602 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-10 18:06:01 +00:00
Helen Hou-Sandi
3fd1376418 Menu customizer: More clearly separate search results from available items.
Available items now fade from view while you're searching, and there is an explicit way to clear search results. No results gives a better message, though still brief this time around.

props valendesigns, designsimply, DH-Shredder, helen.
fixes #32710.


git-svn-id: https://develop.svn.wordpress.org/trunk@33511 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 23:39:54 +00:00
Weston Ruter
70f461ed61 Customizer: Remove redundant translated string.
Props obenland.
Fixes #33183.


git-svn-id: https://develop.svn.wordpress.org/trunk@33493 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 18:53:00 +00:00
Dominik Schilling (ocean90)
972f871214 Customizer: Make a string translatable, see [33413].
see #32715.

git-svn-id: https://develop.svn.wordpress.org/trunk@33460 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-28 13:24:53 +00:00
Sergey Biryukov
d279b43d2d Customizer: Set a correct default for nav_menu_locations setting.
props westonruter.
fixes #33088.

git-svn-id: https://develop.svn.wordpress.org/trunk@33421 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-26 02:00:14 +00:00
Dominik Schilling (ocean90)
cac1d55621 Customizer: Add missing text or labels to some nav menu UI controls.
props afercia, celloexpressions, westonruter.
fixes #32715.

git-svn-id: https://develop.svn.wordpress.org/trunk@33413 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-24 20:27:04 +00:00
Weston Ruter
9e383a560a Customizer: Introduce customize_nav_menu_available_item_types and customize_nav_menu_available_items filters.
Allows for new available menu item types/objects to be registered in addition to filtering the available items that are returned for each menu item type/object.

Props valendesigns, imath, westonruter.
See #32832.
Fixes #32708.


git-svn-id: https://develop.svn.wordpress.org/trunk@33366 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-22 20:28:03 +00:00
Konstantin Obenland
5afdbfdb01 Customizer: Add label for menu names when editing a menu.
Props celloexpressions.
Fixes #32726.



git-svn-id: https://develop.svn.wordpress.org/trunk@33346 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-21 17:01:25 +00:00
Dominik Schilling (ocean90)
810ace4a5e Customizer: Avoid duplicate IDs and remove role presentation from menu items reorder button. Follow-up to [33074].
props afercia.
fixes #32725.

git-svn-id: https://develop.svn.wordpress.org/trunk@33339 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-21 11:36:15 +00:00
Weston Ruter
9ba638910c Customizer: Indicate when there are no nav menu items available for a given type.
Props celloexpressions, valendesigns, rittesh.patel.
Fixes #32810.


git-svn-id: https://develop.svn.wordpress.org/trunk@33323 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-19 00:05:26 +00:00
Weston Ruter
5c76979fb8 Customizer: Finish unit tests for nav menus.
Removes object_type restriction to allow for future extensibility. Refactors some methods to improve testability. Includes new tests for Ajax requests.

Fixes #32687.
Props valendesigns, welcher, westonruter.


git-svn-id: https://develop.svn.wordpress.org/trunk@33322 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-18 23:19:33 +00:00
Weston Ruter
65f5a16611 Customizer: Improve performance of menus by caching results of wp_setup_nav_menu_item() calls.
Also fixes property list in phpdoc for `wp_setup_nav_menu_item()`.

Fixes #32769.


git-svn-id: https://develop.svn.wordpress.org/trunk@33256 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 07:08:40 +00:00
Drew Jaynes
b42a56b8c7 Fix syntax and add missing @access tags to various methods in WP_Customize_Nav_Menus, added in 4.3.
See [32806]. See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33218 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 20:38:13 +00:00
Dominik Schilling (ocean90)
89770100d3 Customizer: Fix broken cap check in WP_Customize_Nav_Menus::ajax_search_available_items.
see #33163.

git-svn-id: https://develop.svn.wordpress.org/trunk@33191 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 14:30:21 +00:00
Weston Ruter
4a849e7c24 Customizer: Disambiguate a menu's auto-add pages option from preceding menu location checkboxes.
Creates a separate `nav_menu_auto_add` control type following the pattern of the `nav_menu_name` control type.

Props valendesigns.
Fixes #32820.


git-svn-id: https://develop.svn.wordpress.org/trunk@33189 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 08:39:17 +00:00
Dominik Schilling (ocean90)
8b757743c4 Customizer: Remove unused string.
see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@33167 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-11 20:52:04 +00:00
Dominik Schilling (ocean90)
74c38e0e94 Customizer: Replace non-visible error messages for nav menus with error codes.
see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@33163 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-11 19:59:25 +00:00
Dominik Schilling (ocean90)
e0e83f8608 Customizer: Improve markup for available menu items.
* Use lists for available menu items.
* Remove unused template for available item types.
* Hide the type label and title from screen readers and instead include them in the add button.

props celloexpressions, afercia.
fixes #32724.

git-svn-id: https://develop.svn.wordpress.org/trunk@33151 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-09 21:59:47 +00:00
Weston Ruter
2a8973f117 Customizer: Remove additional wrapper element around wp_nav_menu() which broke some theme designs.
Also includes these related changes:
* Export `oldContainer` and `newContainer` among the `customize-preview-menu-refreshed` event params for themes to be able to more easily re-initialize the DOM elements.
* Improve performance for partial refresh by only sending settings related to the menu being previewed.
* Fix previewing of menu assigned to Custom Menu by exporting a menu `term_id` as opposed to an object, as the former is more stable for comparing in in args hashes.
* Do full refresh of preview when nav menu unassigned so that the layout can be updated.
* Harden conditions for when partial refresh is eligible for a `wp_nav_menu()` instance.

Fixes #32841.


git-svn-id: https://develop.svn.wordpress.org/trunk@33138 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-08 21:29:53 +00:00
Weston Ruter
3c0e4d3860 Customizer: Prevent loss of walker and fallback_cb args for wp_nav_menu.
These args only need to be cleared out when exported to JavaScript, when they are not JSON-serializable. So the filter now clears these when gathering args for exporting to JS, but otherwise now leaves the original values to be passed through to `wp_nav_menu()`.

Fixes #32781.


git-svn-id: https://develop.svn.wordpress.org/trunk@33131 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-08 20:17:52 +00:00
Weston Ruter
17854c6464 Customizer: Register controls and settings for nav_menu_locations even when there are no menus yet.
This change ensures that the first menu created can be assigned to a location without first saving and reloading the Customizer.

Props markoheijnen.
Fixes #32858.


git-svn-id: https://develop.svn.wordpress.org/trunk@33094 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-06 19:12:48 +00:00
Weston Ruter
1b02636793 Customizer: Ensure that a newly-added nav menu item gets the Original link populated in its control.
Props valendesigns.
Fixes #32858.



git-svn-id: https://develop.svn.wordpress.org/trunk@33089 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-06 05:52:59 +00:00
Dominik Schilling (ocean90)
787016376a Customizer: Improve descriptive text and focus for menu items reorder button.
props afercia.
fixes #32725.

git-svn-id: https://develop.svn.wordpress.org/trunk@33074 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-03 21:23:12 +00:00
Weston Ruter
a21c6e76d6 Customizer: Fix saving menus with empty names or names that are already used.
Adds validation for initially-supplied nav menu name, blocking empty names from being supplied. If later an empty name is supplied and the nav menu is saved, the name "(unnamed)" will be supplied instead and supplied back to the client. If a name is supplied for the menu which is currently used by another menu, then the name conflict is resolved by adding a numerical counter similar to how `post_name` conflicts are resolved. Includes unit tests.

Fixes #32760.



git-svn-id: https://develop.svn.wordpress.org/trunk@33071 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-03 20:46:48 +00:00
Weston Ruter
552879c842 Customizer: Add link to Widgets panel from Menus panel description.
Props celloexpressions.
Fixes #32742.



git-svn-id: https://develop.svn.wordpress.org/trunk@33036 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-01 19:34:17 +00:00
Sergey Biryukov
2ef2ac5e93 Customizer: Avoid PHP notices after [32806].
props adamsilverstein, westonruter.
fixes #32781.

git-svn-id: https://develop.svn.wordpress.org/trunk@33035 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-01 19:07:20 +00:00
Dominik Schilling (ocean90)
799bc5ce79 Customizer: Fix live preview for menu item titles.
Show also a default label for menu items without a label which are assigned to a menu. This is currently only supported in the Customizer, see #24146 for nav menus screen.

see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@32895 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 22:32:37 +00:00
Dominik Schilling (ocean90)
5f9ef8fed3 Customizer: Improve handling of posts with no title.
Use the `#%d (no title)` string as a fallback which is already used on the nav menus screen.
Add a translator comment to all occurrences of the `#%d (no title)` string.

see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@32892 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 19:49:43 +00:00
Dominik Schilling (ocean90)
724b22938e Customizer: Accessibility improvements for menu item searches.
* Add a description and an `aria-describedby` attribute to inform users this is a "live" search.
* Announce the number of search results via `wp.a11y.speak`.
* Use `aria-busy` attribute to stop screen readers announcing content while the "loading more results" is running.
* Increase the search debounce wait interval to 500ms to be consistent with other live searches.
* If a search fails don't call `wp.a11y.speak` with an undefined variable.

props afercia.
see #32720.

git-svn-id: https://develop.svn.wordpress.org/trunk@32891 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 19:21:38 +00:00
Dominik Schilling (ocean90)
21d76509c4 Customizer: Use valid markup for menu items.
Replace `<d(l|t)>` with `<div>` for `.menu-item-bar` and `.menu-item-handle`.

see #32724, #32721, #31817.

git-svn-id: https://develop.svn.wordpress.org/trunk@32889 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 18:46:16 +00:00
Dominik Schilling (ocean90)
684d129a99 Customizer: Make labels of the menu item reorder buttons translatable.
see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@32888 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 18:39:18 +00:00
Dominik Schilling (ocean90)
d6127982be Customizer: Replace wrong usage of _x() with translator comments.
see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@32887 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 18:32:04 +00:00
Dominik Schilling (ocean90)
52649618e2 Customizer: Rename label for custom links to "Custom Links", see [31748].
props paulwilde
fixes #32732.

git-svn-id: https://develop.svn.wordpress.org/trunk@32886 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-20 18:28:55 +00:00