Commit Graph

58 Commits

Author SHA1 Message Date
Dominik Schilling (ocean90)
ad25902a65 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 #37128.

git-svn-id: https://develop.svn.wordpress.org/trunk@38928 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-25 21:25:25 +00:00
Dominik Schilling (ocean90)
ef43d7b0fa Revert [38859] due to an incomplete implementation.
See https://core.trac.wordpress.org/ticket/37128#comment:27.
See #37128.

git-svn-id: https://develop.svn.wordpress.org/trunk@38863 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-21 17:00:29 +00:00
Pascal Birchler
e4cbb7d031 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 #37128.

git-svn-id: https://develop.svn.wordpress.org/trunk@38859 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-21 11:11:42 +00:00
Pascal Birchler
f683e9aae1 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 #19038.

git-svn-id: https://develop.svn.wordpress.org/trunk@38744 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-07 16:49:19 +00:00
John Blackbourn
87c1b26ee7 Docs: Correct various documentation around object and stdClass types.
See #37770


git-svn-id: https://develop.svn.wordpress.org/trunk@38369 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-26 16:48:17 +00:00
Drew Jaynes
01bfb1342b Docs: Improve the summaries and return descriptions for get_registered_nav_menus() and get_nav_menu_locations().
Props rabmalin for the initial patch.
Fixes #37106.


git-svn-id: https://develop.svn.wordpress.org/trunk@37752 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-20 08:25:16 +00:00
Drew Jaynes
d11f7ed391 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37518 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:49:05 +00:00
Drew Jaynes
c7bed4f8c6 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 #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37342 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-02 03:59:56 +00:00
Drew Jaynes
f07f2252fe 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 #35324.


git-svn-id: https://develop.svn.wordpress.org/trunk@36888 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-08 18:24:50 +00:00
Aaron Jorbin
4af0645ae8 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 #35324. See #16075.



git-svn-id: https://develop.svn.wordpress.org/trunk@36859 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-05 22:56:31 +00:00
Dominik Schilling (ocean90)
9a7488aaf8 Spelling: Standardize on "front end"/"back end" (noun) and "front-end"/"back-end" (adjective).
Props obrienlabs, thewanderingbrit.
Fixes #34887.

git-svn-id: https://develop.svn.wordpress.org/trunk@36709 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-25 12:52:33 +00:00
Weston Ruter
773151a9bf Docs: Use markdown instead of HTML for code formatting.
Fixes phpdoc usage in [36622], [36608], [35724], [35307].

See #35898.
See #35869.
See #34738.
See #33552.


git-svn-id: https://develop.svn.wordpress.org/trunk@36645 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 19:17:11 +00:00
Weston Ruter
d14b188c42 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 #35898.


git-svn-id: https://develop.svn.wordpress.org/trunk@36622 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 01:01:43 +00:00
Weston Ruter
d06329d035 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 #35869.


git-svn-id: https://develop.svn.wordpress.org/trunk@36608 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-22 00:13:53 +00:00
Drew Jaynes
3a0050346b Docs: Update several function DocBlock summaries in wp-includes/nav-menu.php to use third-person singular verbs.
Also removes some unnecessary capitalizations.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36496 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-07 02:17:29 +00:00
Eric Andrew Lewis
a3dda7e716 Docs: Nav menu location functions relate to nav menu locations, not nav menus.
Fixes #35471.


git-svn-id: https://develop.svn.wordpress.org/trunk@36330 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-17 01:42:16 +00:00
Dominik Schilling (ocean90)
3f5fab4a0e 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 #35317.

git-svn-id: https://develop.svn.wordpress.org/trunk@36174 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-05 16:26:53 +00:00
Dion Hulse
0df95091ee Nav Menus: Avoid a PHP Notice when a menu contains a now unregistered post type archive.
Props kucrut.
Fixes #34449 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@36095 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-26 04:04:55 +00:00
Drew Jaynes
6135b8d055 Docs: Clarify the summary and add missing parameter notations to the DocBlock for _wp_delete_tax_menu_item().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@35979 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-16 23:10:47 +00:00
Sergey Biryukov
4bca320a77 Don't use <strong> in translatable string in wp-includes/nav-menu.php.
Add translator commment.

Props ramiy.
Fixes #34505.

git-svn-id: https://develop.svn.wordpress.org/trunk@35452 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-30 08:56:36 +00:00
Scott Taylor
a18feed6bd 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 #16075.


git-svn-id: https://develop.svn.wordpress.org/trunk@35382 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-24 17:45:11 +00:00
Drew Jaynes
0fcc70b853 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 #30983.


git-svn-id: https://develop.svn.wordpress.org/trunk@34769 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-02 06:45:32 +00:00
Scott Taylor
3b8c5529cb foreach is a statement, not a function.
See #33491.


git-svn-id: https://develop.svn.wordpress.org/trunk@33734 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 20:27:56 +00:00
Boone Gorges
ee67bd08f9 When splitting a shared 'nav_menu' term, ensure that nav items and theme locations are retained.
Props boonebgorges, dd32.
Fixes #33187.

git-svn-id: https://develop.svn.wordpress.org/trunk@33611 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-12 14:06:21 +00:00
Weston Ruter
dbcb95c022 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 #32814.


git-svn-id: https://develop.svn.wordpress.org/trunk@33488 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-29 16:02:08 +00:00
Aaron Jorbin
385b98d828 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 #31982



git-svn-id: https://develop.svn.wordpress.org/trunk@33427 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-26 18:03:58 +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
8dee1379bd Fix the parameter description syntax in the hook docs for the wp_get_nav_menu_object filter, added in 4.3.
See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33232 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 21:44:07 +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)
c6bf4b951b 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 #32629.

git-svn-id: https://develop.svn.wordpress.org/trunk@32764 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-14 17:36:21 +00:00
Dominik Schilling (ocean90)
0f9c75f614 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 #32632.

git-svn-id: https://develop.svn.wordpress.org/trunk@32762 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-14 10:52:35 +00:00
Dominik Schilling (ocean90)
1e9781a945 Nav menus: Apply the wp_get_nav_menu_items filter also on an empty list of menu items.
props westonruter.
fixes #32631.

git-svn-id: https://develop.svn.wordpress.org/trunk@32748 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-13 14:37:25 +00:00
Dominik Schilling (ocean90)
2ac1bec5ca 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 #32630.

git-svn-id: https://develop.svn.wordpress.org/trunk@32746 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-13 14:14:42 +00:00
Scott Taylor
a418d57c5a Fix doc blocks for nav-menu*.php files.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32612 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-26 22:09:26 +00:00
Boone Gorges
c3ea088948 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 #31724.

git-svn-id: https://develop.svn.wordpress.org/trunk@32294 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-24 18:57:07 +00:00
Helen Hou-Sandi
c5169d828e 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 #31344.


git-svn-id: https://develop.svn.wordpress.org/trunk@31748 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-12 06:14:53 +00:00
Sergey Biryukov
ed1cc5a126 Fix a typo in wp_update_nav_menu_item hook documentation.
props tyxla.
fixes #31338.

git-svn-id: https://develop.svn.wordpress.org/trunk@31521 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-23 16:50:01 +00:00
Scott Taylor
6fd11624d1 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 #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31090 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 07:04:40 +00:00
Drew Jaynes (DrewAPicture)
72d761f0b1 4.1 Docs Audit: Formatting, line-wrap, and other fixes for the wp_get_nav_menus() DocBlock.
See #30469.


git-svn-id: https://develop.svn.wordpress.org/trunk@30619 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-28 12:14:30 +00:00
Sergey Biryukov
5f1c87f271 Set min-height for menu item title. Add a fallback for empty-titled items.
props philiparthurmoore.
fixes #30283.

git-svn-id: https://develop.svn.wordpress.org/trunk@30500 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-21 05:56:23 +00:00
Drew Jaynes (DrewAPicture)
3cc10d77a0 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 #30191.


git-svn-id: https://develop.svn.wordpress.org/trunk@30105 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-30 01:04:55 +00:00
Drew Jaynes (DrewAPicture)
3168f799c9 Fix the $location parameter type in the unregister_nav_menu() DocBlock.
`$location` is a string, not an array.

Props ipm-frommen.
Fixes #30098.


git-svn-id: https://develop.svn.wordpress.org/trunk@30019 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-25 13:42:57 +00:00
Drew Jaynes (DrewAPicture)
e94fef0168 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 #29914.


git-svn-id: https://develop.svn.wordpress.org/trunk@29868 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-10 17:13:52 +00:00
Drew Jaynes (DrewAPicture)
4dc3c6bea2 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 #29460.


git-svn-id: https://develop.svn.wordpress.org/trunk@29796 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-29 23:34:33 +00:00
Sergey Biryukov
f6753a316a Change the default orderby value in wp_get_nav_menus() to 'name'.
props voldemortensen, igmoweb.
fixes #29460.

git-svn-id: https://develop.svn.wordpress.org/trunk@29792 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-29 15:44:26 +00:00
Sergey Biryukov
eac7709d6d Use get_registered_nav_menus() in has_nav_menu().
props voldemortensen.
fixes #29461.

git-svn-id: https://develop.svn.wordpress.org/trunk@29717 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-07 10:03:06 +00:00
Scott Taylor
7e9cf1d2c0 return false in has_nav_menu() if the $location does not exist in the $_wp_registered_nav_menus global.
Props SergeyBiryukov.
Fixes #27735.


git-svn-id: https://develop.svn.wordpress.org/trunk@28836 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-26 00:56:07 +00:00
wonderboymusic
77cf8a1184 Simplify the setting of $args['include'] in wp_get_nav_menu_items().
Props UmeshSingla.
Fixes #28515.


git-svn-id: https://develop.svn.wordpress.org/trunk@28825 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-24 17:16:02 +00:00
Sergey Biryukov
da6a3d1745 Correct @return value for wp_create_nav_menu() and wp_delete_nav_menu().
props Tmeister.
fixes #27745.

git-svn-id: https://develop.svn.wordpress.org/trunk@28242 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-02 11:58:51 +00:00
Drew Jaynes (DrewAPicture)
9c740b8dd5 Inline documentation for hooks in wp-includes/nav-menu.php.
Props dustyf, kpdesign.
Fixes #27367.


git-svn-id: https://develop.svn.wordpress.org/trunk@27700 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-25 09:03:02 +00:00