WordPress/wp-includes
Scott Taylor 333083debe Apply `order` to each passed value for `orderby` in `WP_Query`:
* Since `orderby` in `WP_Query` can accept space-delimited sets, yet only one `order` value: when multiple values are passed (and `DESC` is the order), the default sort order `ASC` is being applied to all values before the last in the set.
* There is a unit test that sporadically fails since 3.6 in `tests/post/revision` due to multiple posts having the same `post_date` from being added so rapidly
* When ordering revisions in `wp_get_post_revisions()`, order by `post_date ID`
* Change the `order` value in `wp_get_post_revisions()` to `ASC`. This will produce SQL like: `ORDER BY $wpdb->posts.post_date ASC, $wpdb->posts.ID ASC`. Previously, this would have produced SQL like: `ORDER BY $wpdb->posts.post_date DESC`, and with the addition of ` ID`: `ORDER BY $wpdb->posts.post_date ASC, $wpdb->posts.ID DESC`. Clearly, wrong. The original SQL produced: `ORDER BY $wpdb->posts.post_date DESC`. As such, return the reversions in reverse order using `array_reverse()`. Not doing so would break "Preview Changes."
* Add unit tests to assert that all of this works.
* All existing unit tests pass with the change to ordering multiple `orderby`s in `WP_Query`.
* In the future, we should support independent `order` for each `orderby`, see #17065.

Props SergeyBiryukov, wonderboymusic.
Fixes #26042.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-22 18:19:13 +00:00
..
ID3 ID3 1.9.7. 2013-07-13 00:37:36 +00:00
SimplePie SimplePie: Fix use of DOMElement as array. 2013-09-11 04:02:10 +00:00
Text Declare Text_Diff::trimNewlines() as static. Upstream is not back compat. props aaroncampbell. fixes #24372. 2013-05-25 22:10:53 +00:00
certificates WP_HTTP: Update the Root Certificate bundle used for SSL communication by WP_HTTP. 2014-02-27 02:33:14 +00:00
css In the `Attachment Details` section of the media modal, only add `box-shadow` to images. Other mime-type icons look strange with an arbitrary border. 2014-05-11 06:19:14 +00:00
fonts Update Dashicons. 2014-04-07 17:52:16 +00:00
images Edit Image modal: 2014-03-27 22:41:14 +00:00
js DFW: fix closing only the wpLink or media modal when pressing Esc. 2014-05-16 18:17:14 +00:00
pomo Eliminate the use of `extract()` in `MO::import_from_reader()`. 2014-05-17 17:21:14 +00:00
theme-compat Eliminate use of `extract()` in `wp-includes/theme-compat/comments-popup.php`. 2014-05-13 04:40:16 +00:00
admin-bar.php Reference https://wordpress.org rather than http://wordpress.org in strings, links, comments, etc. 2014-03-03 02:34:27 +00:00
atomlib.php First there were two, and now there are three -- in the @since versions that came before and that shall be. And so it will be, says nacin. 2013-12-24 18:57:12 +00:00
author-template.php Eliminate use of `extract()` in `wp_list_authors()`. 2014-05-13 06:02:14 +00:00
bookmark-template.php In `wp_list_bookmarks()`, `$categorize` should now be `$r['categorize]`. 2014-05-19 05:11:14 +00:00
bookmark.php Eliminate use of `extract()` in `get_bookmarks()`. 2014-05-15 01:58:15 +00:00
cache.php Classes that have `__set()` also need `__isset()` and `__unset()`. 2014-05-19 06:52:14 +00:00
canonical.php Clean up duplicate hook notations and adjacency for calls to the `wp_signup_location` filter. 2014-04-25 07:12:14 +00:00
capabilities.php These functions import `$wpdb` but do not use it. 2014-05-22 17:37:14 +00:00
category-template.php Add access modifiers to methods/members in `Walker_Category` and `Walker_CategoryDropdown`. 2014-05-19 05:23:14 +00:00
category.php Avoid a notice in `get_the_category_by_ID()` when `is_wp_error( $term )` is false but `$term->name` is not set. Clarify the `@return` value of `get_category()` and `get_tag()` which return the same possible types as `get_term()`, which they wrap. 2014-03-13 04:04:15 +00:00
class-IXR.php Allow query strings for servers in IXR_Client and WP_HTTP_IXR_Client. 2014-03-15 05:01:14 +00:00
class-feed.php Add access modifiers to methods/members in `WP_Feed_Cache`, `WP_SimplePie_File`, and `WP_Feed_Cache_Transient`. 2014-05-19 05:27:15 +00:00
class-http.php Add access modifier to methods of HTTP classes. There are no new private or protected methods, so no need for `__call()`. 2014-05-19 05:34:15 +00:00
class-json.php Patch Services_JSON to use the proper function name and avoid a fatal error. see #24210. 2013-07-08 16:55:34 +00:00
class-oembed.php Add access modifier to methods/members in `WP_oEmbed`. Adds a magic `__call()` method for BC. 2014-05-19 05:37:13 +00:00
class-phpass.php First there were two, and now there are three -- in the @since versions that came before and that shall be. And so it will be, says nacin. 2013-12-24 18:57:12 +00:00
class-phpmailer.php Update PHPMailer to 5.2.7 from 5.2.4. 2014-03-03 20:25:14 +00:00
class-pop3.php
class-simplepie.php `hackificator` complains if you call `include 'file.php'` without the parens, needs to be `include( 'file.php' )` 2014-05-18 20:52:15 +00:00
class-smtp.php Update PHPMailer to 5.2.7 from 5.2.4. 2014-03-03 20:25:14 +00:00
class-snoopy.php Use correct variable in the deprecated and abandoned Snoopy HTTP client. see #24210. 2013-07-08 17:17:46 +00:00
class-wp-admin-bar.php In `wp-includes/class-wp-admin-bar.php`, `break` is unreachabled after `return`. 2014-05-06 18:29:15 +00:00
class-wp-ajax-response.php Classes that have `__set()` also need `__isset()` and `__unset()`. 2014-05-19 06:52:14 +00:00
class-wp-customize-control.php Add missing access modifiers to methods/members in `WP_Customize_*`. 2014-05-19 05:45:16 +00:00
class-wp-customize-manager.php Add missing access modifiers to methods/members in `WP_Customize_*`. 2014-05-19 05:45:16 +00:00
class-wp-customize-section.php Add missing access modifiers to methods/members in `WP_Customize_*`. 2014-05-19 05:45:16 +00:00
class-wp-customize-setting.php Add missing access modifiers to methods/members in `WP_Customize_*`. 2014-05-19 05:45:16 +00:00
class-wp-customize-widgets.php Widgets: Remove create_function() from the customizer class. 2014-04-16 00:11:35 +00:00
class-wp-editor.php Improve TinyMCE string for paste command browser support. 2014-04-25 21:20:14 +00:00
class-wp-embed.php Add access modifiers to methods/members in `WP_Embed`. 2014-05-19 05:47:14 +00:00
class-wp-error.php Classes that have `__set()` also need `__isset()` and `__unset()`. 2014-05-19 06:52:14 +00:00
class-wp-http-ixr-client.php Add access modifiers to methods/members in `WP_HTTP_IXR_Client`. 2014-05-19 05:51:15 +00:00
class-wp-image-editor-gd.php Add missing access modifiers to methods/members in `WP_Image_Editor_*` classes. 2014-05-19 05:53:14 +00:00
class-wp-image-editor-imagick.php Add missing access modifiers to methods/members in `WP_Image_Editor_*` classes. 2014-05-19 05:53:14 +00:00
class-wp-image-editor.php In `WP_Image_Editor::get_output_format()`, `$file_mime` and `$file_ext` are set twice before they are used. 2014-05-06 18:37:29 +00:00
class-wp-theme.php Use suggested language conventions in the hook docs description for the `theme_page_templates` filter. 2014-04-07 20:18:14 +00:00
class-wp-walker.php Classes that have `__set()` also need `__isset()` and `__unset()`. 2014-05-19 06:52:14 +00:00
class-wp-xmlrpc-server.php These functions import `$wpdb` but do not use it. 2014-05-22 17:37:14 +00:00
class-wp.php Classes that have `__set()` also need `__isset()` and `__unset()`. 2014-05-19 06:52:14 +00:00
class.wp-dependencies.php Add missing access modifiers to methods in `WP_Dependencies` and `_WP_Dependency`. 2014-05-19 06:14:14 +00:00
class.wp-scripts.php Add missing access modifiers to methods in `WP_Scripts` and `WP_Styles`. 2014-05-19 06:17:14 +00:00
class.wp-styles.php Add missing access modifiers to methods in `WP_Scripts` and `WP_Styles`. 2014-05-19 06:17:14 +00:00
comment-template.php Add missing access modifiers to methods/members in `Walker` and subclasses. Add a magic `__get()` method. 2014-05-19 06:00:15 +00:00
comment.php Add missing access modifiers to methods in `WP_Comment_Query`. Add a magic `__call()` method for BC. 2014-05-19 06:19:14 +00:00
compat.php
cron.php Cron: Fix a case where a cache inconsistency can cause wp_clear_scheduled_hook() to enter an infinite loop. This unravels the function from using other cron api functions to looping over the cron array directly. See #25773 2013-12-07 09:13:11 +00:00
date.php `WP_Date_Query` was only missing one access modifier. 2014-05-19 17:30:17 +00:00
default-constants.php First there were two, and now there are three -- in the @since versions that came before and that shall be. And so it will be, says nacin. 2013-12-24 18:57:12 +00:00
default-filters.php Allow for custom authentication handlers for all requests. 2014-03-09 15:23:15 +00:00
default-widgets.php `WP_Date_Query` was only missing one access modifier. 2014-05-19 17:30:17 +00:00
deprecated.php Clean up deprecated format_to_post() docs. see #27700. 2014-04-07 22:23:14 +00:00
feed-atom-comments.php Inline documentation for hooks in wp-includes/feed-atom-comments.php. 2013-12-21 20:22:12 +00:00
feed-atom.php Inline documentation for hooks in wp-includes/feed-atom.php. 2013-09-20 22:50:10 +00:00
feed-rdf.php Revert r25824:25875 from the core.svn.wordpress.org repository. 2013-10-25 02:29:52 +00:00
feed-rss.php Revert r25824:25875 from the core.svn.wordpress.org repository. 2013-10-25 02:29:52 +00:00
feed-rss2-comments.php Revert r25824:25875 from the core.svn.wordpress.org repository. 2013-10-25 02:29:52 +00:00
feed-rss2.php Inline documentation for hooks in wp-includes/feed-rss2.php. 2013-09-20 22:27:09 +00:00
feed.php Where a filter no longer exists, it need not be notated. 2014-05-06 05:38:15 +00:00
formatting.php Filter out empty and duplicate values in Comment Moderation and Comment Blacklist settings. 2014-05-16 11:10:14 +00:00
functions.php Eliminate the use of `extract()` in `wp_check_filetype_and_ext()`. 2014-05-15 06:22:14 +00:00
functions.wp-scripts.php Inline documentation for hooks in wp-includes/functions.wp-scripts.php. 2013-10-27 17:51:09 +00:00
functions.wp-styles.php Inline documentation for hooks in wp-includes/functions.wp-styles.php. 2013-10-27 17:59:09 +00:00
general-template.php Use correct variable. see [28534], [28538]. 2014-05-22 17:40:14 +00:00
http.php Remove by-reference modifiers from arguments in `wp_remote_retrieve_*` functions. 2014-05-05 18:46:15 +00:00
kses.php Inline documentation for hooks in wp-includes/kses.php. 2014-03-26 14:57:15 +00:00
l10n.php Priority fixes for various existing hook documentation. 2014-04-12 00:01:15 +00:00
link-template.php In `edit_post_link()`, `$post_type_obj` is unused. 2014-05-06 21:27:15 +00:00
load.php Revert the conversion of adjacent post queries to WP_Query. Explanation on the ticket. 2014-03-29 06:03:15 +00:00
locale.php Better description for WP_Locale::_strings_for_pot(). props dimadin. fixes #25937. 2013-11-13 14:01:09 +00:00
media-template.php Don't include caption tags in gallery template when there is no caption. 2014-05-15 21:03:15 +00:00
media.php Eliminate use of `extract()` in `gallery_shortcode()`. 2014-05-15 03:41:15 +00:00
meta.php Add missing access modifiers to methods in `WP_Meta_Query`. 2014-05-19 06:35:14 +00:00
ms-blogs.php Fix the return description for `switch_to_blog()` to reflect that it always returns true. 2014-03-02 04:41:15 +00:00
ms-default-constants.php Use get_current_site() instead of the $current_site global when possible. 2013-11-13 03:23:10 +00:00
ms-default-filters.php Live network counts of users and sites for small networks. 2013-09-25 16:21:09 +00:00
ms-deprecated.php Theme compat: Move <head profile> to <link>. 2014-03-25 17:22:15 +00:00
ms-files.php Use stripslashes() instead of wp_unslash() in ms-files.php to avoid formatting.php dependency. props devesine, fixes #24374. 2013-05-20 20:20:22 +00:00
ms-functions.php Use correct column name. See [27152]. 2014-03-29 03:39:14 +00:00
ms-load.php In `get_network_by_path()`, `$exact_domains` is unused. 2014-05-06 21:32:16 +00:00
ms-settings.php Multisite: Fix case sensitivity regressions in 3.9. 2014-05-06 05:24:14 +00:00
nav-menu-template.php Add missing access modifiers to methods/members in `Walker` and subclasses. Add a magic `__get()` method. 2014-05-19 06:00:15 +00:00
nav-menu.php Correct @return value for wp_create_nav_menu() and wp_delete_nav_menu(). 2014-05-02 11:59:14 +00:00
option.php Introduce `pre_update_option` filter. 2014-03-28 13:57:14 +00:00
pluggable-deprecated.php Reference https://wordpress.org rather than http://wordpress.org in strings, links, comments, etc. 2014-03-03 02:34:27 +00:00
pluggable.php Eliminate the use of `extract()` in `wp_mail()`. Check the filtered array for each value before re-setting variables. 2014-05-15 06:17:15 +00:00
plugin.php Add a missing `@since 3.9.0` to the PHPDoc for `wp_register_plugin_realpath()`. 2014-04-07 21:34:14 +00:00
post-formats.php Allow has_post_format() to be used to check for any format. 2013-11-24 13:45:10 +00:00
post-template.php Add missing access modifiers to methods/members in `Walker` and subclasses. Add a magic `__get()` method. 2014-05-19 06:00:15 +00:00
post-thumbnail-template.php Revert [27166]. 2014-03-26 18:43:14 +00:00
post.php Eliminate the use of `extract()` in `get_pages()`. 2014-05-17 17:12:15 +00:00
query.php Apply `order` to each passed value for `orderby` in `WP_Query`: 2014-05-22 18:19:13 +00:00
registration-functions.php Lose EOF ?>. Clean up EOF newlines. fixes #12307 2012-01-08 17:01:11 +00:00
registration.php Lose EOF ?>. Clean up EOF newlines. fixes #12307 2012-01-08 17:01:11 +00:00
revision.php Apply `order` to each passed value for `orderby` in `WP_Query`: 2014-05-22 18:19:13 +00:00
rewrite.php `WP_Query` was only missing one access modifier. 2014-05-19 17:41:13 +00:00
rss-functions.php Don't rely on include_path to include files. 2013-09-25 00:18:11 +00:00
rss.php Inline docs for hooks in MagPie. 2013-09-06 17:19:09 +00:00
script-loader.php `hackificator` complains if you call `include 'file.php'` without the parens, needs to be `include( 'file.php' )` 2014-05-18 20:52:15 +00:00
shortcodes.php Update the inline docs for `add_shortcode()` to eliminate suggestion to use `extract()`. 2014-05-15 03:28:15 +00:00
taxonomy.php These functions import `$wpdb` but do not use it. 2014-05-22 17:37:14 +00:00
template-loader.php Add jshintrc to qunit. 2013-10-30 14:39:10 +00:00
template.php Inline documentation improvements for get_*_template() functions in wp-includes/template.php. 2014-01-05 17:55:11 +00:00
theme.php In `wp-includes/theme.php`, `break` is unreachable after `return`. 2014-05-07 03:50:14 +00:00
update.php Fix some `hackificator` odds and ends in `wp-admin`: 2014-05-19 05:04:16 +00:00
user.php Add access modifiers to `WP_User_Query`. 2014-05-19 15:48:15 +00:00
vars.php Update the wp-inclues/vars.php file header to include Nginx as a recognized web server. 2014-01-10 18:15:13 +00:00
version.php TinyMCE: when adding a caption to an image that is in a paragraph with other text, move the caption node above the paragraph instead of below. See #27922, for trunk. 2014-04-23 20:42:14 +00:00
widgets.php Add `public` access modifier to methods/members of `WP_Widget` and `WP_Widget_Factory`. 2014-05-19 15:42:13 +00:00
wlwmanifest.xml The Pinking Shears stir from their slumber, awakened by what may seem, to those 2013-12-11 19:49:11 +00:00
wp-db.php In `wpdb`, make some things explicitly `public`. Do not set anything to `private`. This would instantly blow up `hyperdb` in the wild. 2014-05-19 15:36:13 +00:00
wp-diff.php Add access modifiers to `WP_Text_Diff_Renderer_Table` that are compatible with its parent class. Some of the inline docs suggest access that, if implemented, would produce fatal errors. 2014-05-19 15:23:14 +00:00