Commit Graph

141 Commits

Author SHA1 Message Date
Dominik Schilling 7cce73a634 General: Introduce a `wp_list_sort()` helper function, v2.
In addition to `wp_list_filter()` for filtering a list of objects, and `wp_list_pluck()` for plucking a certain field out of each object in a list, this new function can be used for sorting a list of objects by specific fields. These functions are now all contained within the new `WP_List_Util()` class and `wp_list_sort()` is used in various parts of core for sorting lists.

This was previously committed in [38859] but got reverted in [38862] and [38863]. To fix the previous issues, `wp_list_sort()` supports now an additional argument to preserve array keys via `uasort()`.

Props flixos90, DrewAPicture, jorbin.
Fixes .
Built from https://develop.svn.wordpress.org/trunk@38928


git-svn-id: http://core.svn.wordpress.org/trunk@38871 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-25 21:26:32 +00:00
Dominik Schilling 6c8508023f Revert [38859] due to an incomplete implementation.
See https://core.trac.wordpress.org/ticket/37128#comment:27.
See .
Built from https://develop.svn.wordpress.org/trunk@38863


git-svn-id: http://core.svn.wordpress.org/trunk@38806 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-21 17:01:32 +00:00
Pascal Birchler f54558e75b General: Introduce a `wp_list_sort()` helper function.
In addition to `wp_list_filter()` for filtering a list of objects, and `wp_list_pluck()` for plucking a certain field out of each object in a list, this new function can be used for sorting a list of objects by specific fields. These functions are now all contained within the new `WP_List_Util()` class and `wp_list_sort()` is used in various parts of core for sorting lists.

Props flixos90, DrewAPicture, jorbin.
Fixes .
Built from https://develop.svn.wordpress.org/trunk@38859


git-svn-id: http://core.svn.wordpress.org/trunk@38802 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-21 11:12:51 +00:00
Pascal Birchler ff411ed5f4 Menus: Do not show trashed posts in nav menus.
Trashed posts cannot be accessed by site visitors and thus should not be visible on the front end. By marking menu items of trashed posts as invalid, they are excluded from the output.

Props solarissmoke, swissspidy.
Fixes .
Built from https://develop.svn.wordpress.org/trunk@38744


git-svn-id: http://core.svn.wordpress.org/trunk@38687 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-07 16:50:29 +00:00
John Blackbourn 94c8ca0f2e Docs: Correct various documentation around `object` and `stdClass` types.
See 

Built from https://develop.svn.wordpress.org/trunk@38369


git-svn-id: http://core.svn.wordpress.org/trunk@38310 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 16:49:45 +00:00
Drew Jaynes eb7df1379b Docs: Improve the summaries and return descriptions for `get_registered_nav_menus()` and `get_nav_menu_locations()`.
Props rabmalin for the initial patch.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@37752


git-svn-id: http://core.svn.wordpress.org/trunk@37717 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-20 08:26:29 +00:00
Drew Jaynes 9cb5247392 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See .

Built from https://develop.svn.wordpress.org/trunk@37518


git-svn-id: http://core.svn.wordpress.org/trunk@37486 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:50:28 +00:00
Drew Jaynes fe3b007fdd Docs: Remove inline `@see` tags from function, class, and method references in inline docs.
Known functions, classes, and methods are now auto-linked in Code Reference pages following #meta1483.

Note: Hook references are still linked via inline `@see` tags due to the unlikelihood of reliably matching for known hooks based on a RegEx pattern.

See .

Built from https://develop.svn.wordpress.org/trunk@37342


git-svn-id: http://core.svn.wordpress.org/trunk@37308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-02 04:00:28 +00:00
Drew Jaynes f64b97c597 Menus: Avoid a notice when outputting a description for an existing archive menu item for a post type that doesn't.
Props bradyvercher.
See [36859]. Fixes .

Built from https://develop.svn.wordpress.org/trunk@36888


git-svn-id: http://core.svn.wordpress.org/trunk@36855 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-08 18:25:26 +00:00
Aaron Jorbin d71a0600a6 Ensure Description is respected in post type archive menu items.
Tested scenarios include: using the default (which is the post type description), Setting a custom description for that individual menu item, and setting a custom description that is blank. Introduced in r35382.

Props Toro_Unit, mayukojpn, extendwings, jorbin.
Fixes . See .


Built from https://develop.svn.wordpress.org/trunk@36859


git-svn-id: http://core.svn.wordpress.org/trunk@36826 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-05 22:57:26 +00:00
Dominik Schilling e5ea82d81a Spelling: Standardize on "front end"/"back end" (noun) and "front-end"/"back-end" (adjective).
Props obrienlabs, thewanderingbrit.
Fixes .
Built from https://develop.svn.wordpress.org/trunk@36709


git-svn-id: http://core.svn.wordpress.org/trunk@36676 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-25 12:53:27 +00:00
Weston Ruter 87a9bf2b37 Docs: Use markdown instead of HTML for `code` formatting.
Fixes phpdoc usage in [36622], [36608], [35724], [35307].

See .
See .
See .
See .

Built from https://develop.svn.wordpress.org/trunk@36645


git-svn-id: http://core.svn.wordpress.org/trunk@36612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 19:18:27 +00:00
Weston Ruter aa9ef96a52 Customize: Prevent dropping backslashes from input on general settings and settings for nav menus and some widgets.
Ensures that intentional backslashes (e.g. "\o/") can be used in:

* Site title
* Site description
* Nav menu name
* Custom Menu widget title
* Tag Cloud widget title
* Text widget body if can't `unfiltered_html`

The latter three are also fixed on the widgets admin page.

Fixes .

Built from https://develop.svn.wordpress.org/trunk@36622


git-svn-id: http://core.svn.wordpress.org/trunk@36589 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 01:02:26 +00:00
Weston Ruter b206327acb Customize: Fix previewing and updating of nav menu items containing slashed/slashable characters.
Prevents slashes from being added when a user without `unfiltered_html` previews a nav menu item containing an apostrophe or some other slashable character, and prevents the loss of an intentional slash (e.g. "\o/") when saving a nav menu item, regardless of capability.

Fixes .

Built from https://develop.svn.wordpress.org/trunk@36608


git-svn-id: http://core.svn.wordpress.org/trunk@36575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-22 00:14:25 +00:00
Drew Jaynes f3aeb0def3 Docs: Update several function DocBlock summaries in wp-includes/nav-menu.php to use third-person singular verbs.
Also removes some unnecessary capitalizations.

See .

Built from https://develop.svn.wordpress.org/trunk@36496


git-svn-id: http://core.svn.wordpress.org/trunk@36463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-07 02:18:26 +00:00
Eric Lewis fd99c1705e Docs: Nav menu location functions relate to nav menu locations, not nav menus.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@36330


git-svn-id: http://core.svn.wordpress.org/trunk@36297 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-17 01:43:26 +00:00
Dominik Schilling 0b6c5744dc Nav Menus: Apply the `the_title` filter on original post titles in `wp_setup_nav_menu_item()`.
The filter is already used in `Walker_Nav_Menu_Checklist` and `Walker_Nav_Menu_Edit`. This ensures that titles are consistent across the admin and front end.

Fixes .
Built from https://develop.svn.wordpress.org/trunk@36174


git-svn-id: http://core.svn.wordpress.org/trunk@36141 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-05 16:27:26 +00:00
Dion Hulse 1d19b930fc Nav Menus: Avoid a PHP Notice when a menu contains a now unregistered post type archive.
Props kucrut.
Fixes  for trunk.

Built from https://develop.svn.wordpress.org/trunk@36095


git-svn-id: http://core.svn.wordpress.org/trunk@36060 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-26 04:05:25 +00:00
Drew Jaynes bc4a65a036 Docs: Clarify the summary and add missing parameter notations to the DocBlock for `_wp_delete_tax_menu_item()`.
See .

Built from https://develop.svn.wordpress.org/trunk@35979


git-svn-id: http://core.svn.wordpress.org/trunk@35944 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-16 23:11:25 +00:00
Sergey Biryukov 55a7ba2ec7 Don't use `<strong>` in translatable string in `wp-includes/nav-menu.php`.
Add translator commment.

Props ramiy.
Fixes .
Built from https://develop.svn.wordpress.org/trunk@35452


git-svn-id: http://core.svn.wordpress.org/trunk@35416 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-30 08:57:26 +00:00
Scott Taylor dc1e85a540 Nav Menus: show custom post type Archive item at the top of the `View All` tab for the post type on the legacy Nav Menu screen.
Props aaroncampbell, DrewAPicture, seanchayes, hlashbrooke, paulwilde, ericlewis, raulillana
See .

Built from https://develop.svn.wordpress.org/trunk@35382


git-svn-id: http://core.svn.wordpress.org/trunk@35346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-24 17:46:25 +00:00
Drew Jaynes a3ead57e90 Introduce the `wp_add_nav_menu_item` action, fired immediately after a new nav menu item has been added.
This hook can be leveraged both for the legacy menus interface and the menus integration in the Customizer, as both use the containing function, `wp_update_nav_menu_item()`.

Props MikeHansenMe, tyxla.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@34769


git-svn-id: http://core.svn.wordpress.org/trunk@34734 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 06:46:24 +00:00
Scott Taylor ef87172270 `foreach` is a statement, not a function.
See .

Built from https://develop.svn.wordpress.org/trunk@33734


git-svn-id: http://core.svn.wordpress.org/trunk@33702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-25 20:28:22 +00:00
Boone Gorges 2c9e81349c When splitting a shared 'nav_menu' term, ensure that nav items and theme locations are retained.
Props boonebgorges, dd32.
Fixes .
Built from https://develop.svn.wordpress.org/trunk@33611


git-svn-id: http://core.svn.wordpress.org/trunk@33578 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-12 14:07:26 +00:00
Weston Ruter bf9d1485ee Customizer: Ensure that all existing menus are shown in the Custom Menu widget's dropdown.
* Ensure that a Custom Menu widget selecting a newly-inserted menu gets updated to use the new menu ID upon Save & Publish.
* Dynamically update the visibility of the Custom Menu widget's "no menus" message when the number of menus changes between 0 and 1+.
* Send all dirty Customized settings in `update-widget` Ajax request and `preview()` them so that the widget update/form callbacks have access to any data dependencies in the current Customizer session (such as newly created unsaved menus).
* Update link in Custom Menu widget to point to Menus panel as opposed to Menus admin page, when in the Customizer.
* Fix an issue with extra space at top immediately after creating new menu.
* Fix doubled `update-widget` Ajax requests when changing select dropdown; prevent initial from being aborted.
* Add missing `wp_get_nav_menus()` hooks to preview Customizer updates/inserts for `nav_menu` settings; includes tests.
* Update `wp_get_nav_menu_object()` to allow a menu object to be passed in (and thus passed through).

Props westonruter, adamsilverstein.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@33488


git-svn-id: http://core.svn.wordpress.org/trunk@33455 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-29 16:03:24 +00:00
Aaron Jorbin d8eaaf66df Use explicit variable variable syntax
PHP7 introduces a backwards compatable change to variable varibale syntax that requires us to use curly brackets to maintain the syntax between php5 and php7.  For more info, see https://wiki.php.net/rfc/uniform_variable_syntax#semantic_differences_in_existing_syntax for the semantic differences.  

Props ocean90
Fixes 


Built from https://develop.svn.wordpress.org/trunk@33427


git-svn-id: http://core.svn.wordpress.org/trunk@33394 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-26 18:04:26 +00:00
Weston Ruter c5bd85552e 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 .

Built from https://develop.svn.wordpress.org/trunk@33256


git-svn-id: http://core.svn.wordpress.org/trunk@33228 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-14 07:09:24 +00:00
Drew Jaynes 4e74b792fa Fix the parameter description syntax in the hook docs for the `wp_get_nav_menu_object` filter, added in 4.3.
See .

Built from https://develop.svn.wordpress.org/trunk@33232


git-svn-id: http://core.svn.wordpress.org/trunk@33204 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 21:45:24 +00:00
Dominik Schilling f127478bde 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 .
Built from https://develop.svn.wordpress.org/trunk@32892


git-svn-id: http://core.svn.wordpress.org/trunk@32863 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-20 19:50:26 +00:00
Dominik Schilling df11970e18 Nav menus: Introduce a `wp_get_nav_menu_object` filter in `wp_get_nav_menu_object()` to filter the retrieved nav_menu term.
props westonruter.
fixes .
Built from https://develop.svn.wordpress.org/trunk@32764


git-svn-id: http://core.svn.wordpress.org/trunk@32735 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-14 17:37:25 +00:00
Dominik Schilling 55f3b68c75 Nav Menus: Update `wp_setup_nav_menu_item()` to stop overriding empty properties from supplied `$menu_item`.
Update docs for `WP_Post` constructor to indicate that `WP_Post|object` can be the supplied param, as opposed to just `WP_Post`.

props westonruter.
fixes .
Built from https://develop.svn.wordpress.org/trunk@32762


git-svn-id: http://core.svn.wordpress.org/trunk@32733 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-14 10:53:25 +00:00
Dominik Schilling 792295d077 Nav menus: Apply the `wp_get_nav_menu_items` filter also on an empty list of menu items.
props westonruter.
fixes .
Built from https://develop.svn.wordpress.org/trunk@32748


git-svn-id: http://core.svn.wordpress.org/trunk@32719 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-13 14:38:25 +00:00
Dominik Schilling 33c1c76001 Nav menu: Introduce a `has_nav_menu` filter in `has_nav_menu()` to filter whether a nav menu is assigned to a specified location.
props westonruter.
fixes .
Built from https://develop.svn.wordpress.org/trunk@32746


git-svn-id: http://core.svn.wordpress.org/trunk@32717 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-13 14:15:25 +00:00
Scott Taylor cb0b0b109d Fix doc blocks for `nav-menu*.php` files.
See .

Built from https://develop.svn.wordpress.org/trunk@32612


git-svn-id: http://core.svn.wordpress.org/trunk@32582 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-26 22:10:25 +00:00
Boone Gorges fbf16573ee When priming the cache for taxonomy term nav items, don't fetch term descendants.
Descending the term tree causes unnecessary database queries when priming the
cache for a term with many descendants.

Fixes .
Built from https://develop.svn.wordpress.org/trunk@32294


git-svn-id: http://core.svn.wordpress.org/trunk@32265 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-24 18:58:27 +00:00
Helen Hou-Sandí 296dba2804 Nav menus: Return to calling links "Custom Links".
It was like this before 3.6 and got a bit lost during that development cycle. Also uses the terminology more consistently in the nav menu UI.

props tyxla.
fixes .

Built from https://develop.svn.wordpress.org/trunk@31748


git-svn-id: http://core.svn.wordpress.org/trunk@31729 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-12 06:15:27 +00:00
Sergey Biryukov 6221fc86a3 Fix a typo in `wp_update_nav_menu_item` hook documentation.
props tyxla.
fixes .
Built from https://develop.svn.wordpress.org/trunk@31521


git-svn-id: http://core.svn.wordpress.org/trunk@31502 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-23 16:51:25 +00:00
Scott Taylor 60b0cd7943 The keyword `elseif` should be used instead of `else if` so that all control keywords look like single words.
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs. 

See .

Built from https://develop.svn.wordpress.org/trunk@31090


git-svn-id: http://core.svn.wordpress.org/trunk@31071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 07:05:25 +00:00
Drew Jaynes 4fd64b94d7 4.1 Docs Audit: Formatting, line-wrap, and other fixes for the `wp_get_nav_menus()` DocBlock.
See .

Built from https://develop.svn.wordpress.org/trunk@30619


git-svn-id: http://core.svn.wordpress.org/trunk@30609 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-28 12:15:23 +00:00
Sergey Biryukov aad05ece16 Set min-height for menu item title. Add a fallback for empty-titled items.
props philiparthurmoore.
fixes .
Built from https://develop.svn.wordpress.org/trunk@30500


git-svn-id: http://core.svn.wordpress.org/trunk@30489 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-21 05:57:22 +00:00
Drew Jaynes f8657d5890 Remove redundant and erroneous `@uses` tag from most core inline documentation.
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.

Fixes .

Built from https://develop.svn.wordpress.org/trunk@30105


git-svn-id: http://core.svn.wordpress.org/trunk@30105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-30 01:05:24 +00:00
Drew Jaynes 96fb9e36a2 Fix the `$location` parameter type in the `unregister_nav_menu()` DocBlock.
`$location` is a string, not an array.

Props ipm-frommen.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@30019


git-svn-id: http://core.svn.wordpress.org/trunk@30019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-25 13:43:18 +00:00
Drew Jaynes cdf9456b79 Clarify inline documentation for the `_is_valid_nav_menu_item()` and `wp_get_nav_menu_items()` in wp-includes/nav-menu.php.
Props morganestes for the initial patch.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@29868


git-svn-id: http://core.svn.wordpress.org/trunk@29628 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-10 17:14:19 +00:00
Drew Jaynes bf52618636 Update documentation for `wp_get_nav_menus()` to reflect that the default value for the the 'orderby' argument was changed from 'none' to 'name' in 4.1.
Props curtjen.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@29796


git-svn-id: http://core.svn.wordpress.org/trunk@29565 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-29 23:35:17 +00:00
Sergey Biryukov 504d4ad5eb Change the default orderby value in wp_get_nav_menus() to 'name'.
props voldemortensen, igmoweb.
fixes .
Built from https://develop.svn.wordpress.org/trunk@29792


git-svn-id: http://core.svn.wordpress.org/trunk@29564 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-29 15:45:16 +00:00
Sergey Biryukov f84cbb4ba8 Use get_registered_nav_menus() in has_nav_menu().
props voldemortensen.
fixes .
Built from https://develop.svn.wordpress.org/trunk@29717


git-svn-id: http://core.svn.wordpress.org/trunk@29491 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-07 10:04:16 +00:00
Scott Taylor 69b0077edf `return false` in `has_nav_menu()` if the `$location` does not exist in the `$_wp_registered_nav_menus` global.
Props SergeyBiryukov.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@28836


git-svn-id: http://core.svn.wordpress.org/trunk@28640 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-26 00:57:15 +00:00
Scott Taylor 7b83df547d Simplify the setting of `$args['include']` in `wp_get_nav_menu_items()`.
Props UmeshSingla.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@28825


git-svn-id: http://core.svn.wordpress.org/trunk@28629 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-24 17:17:14 +00:00
Sergey Biryukov 7214648764 Correct @return value for wp_create_nav_menu() and wp_delete_nav_menu().
props Tmeister.
fixes .
Built from https://develop.svn.wordpress.org/trunk@28242


git-svn-id: http://core.svn.wordpress.org/trunk@28070 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-02 11:59:14 +00:00
Drew Jaynes 513d8702f6 Inline documentation for hooks in wp-includes/nav-menu.php.
Props dustyf, kpdesign.
Fixes .

Built from https://develop.svn.wordpress.org/trunk@27700


git-svn-id: http://core.svn.wordpress.org/trunk@27539 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 09:04:14 +00:00