Add expectedIncorrectUsage flags for unit tests that generate invalid dates.

Since [29925], passing an invalid date to WP_Date_Query will generate a
_doing_it_wrong() notice. The current changeset adds the
`@expectedIncorrectUsage` flag to those existing unit tests that generate
invalid dates, such as those that test canonical redirect and is_404()
conditionals.

Fixes #25834.
Built from https://develop.svn.wordpress.org/trunk@29932


git-svn-id: http://core.svn.wordpress.org/trunk@29684 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Use table aliases for columns in SQL generated by WP_Date_Query.

The use of non-aliased column names (eg 'post_date' instead of 'wp_posts.post_date')
in WP_Date_Query causes SQL notices and other failures when queries involve
table joins, such as date_query combined with tax_query or meta_query. This
changeset modifies WP_Date_Query::validate_column() to add the table alias when
it can be detected from the column name (ie, in the case of core columns).

A side effect of this change is that it is now possible to use WP_Date_Query
to build WHERE clauses across multiple tables, though there is currently no
core support for the automatic generation of the necessary JOIN clauses. See

Props ew_holmes, wonderboymusic, neoxx, Viper007Bond, boonebgorges.
Fixes #25775.
Built from https://develop.svn.wordpress.org/trunk@29933


git-svn-id: http://core.svn.wordpress.org/trunk@29685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Support date_query by user_registered in WP_User_Query.

Props ChriCo, nacin.
Fixes #27283.
Built from https://develop.svn.wordpress.org/trunk@29934


git-svn-id: http://core.svn.wordpress.org/trunk@29686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Comment/post author in/not_in for `WP_Comment_Query`.

Props nofearinc, chriscct7.
Fixes #29885.
Built from https://develop.svn.wordpress.org/trunk@29935


git-svn-id: http://core.svn.wordpress.org/trunk@29687 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Better "inclusive" support for string values in WP_Date_Query.

The 'inclusive' parameter for WP_Date_Query determines whether non-precise
dates for 'before' and 'after' will be rounded up or down. Previously, this was
supported only when 'before' and 'after' were arrays; string-formatted dates
were run through strtotime(), which rounded them all down (inclusive in the
case of after, non-inclusive in the case of before). Now, we attempt to parse
formats that look like MySQL-formatted date strings, and apply inclusive logic
to them if we recognize them successfully.

Fixes #29908.
string values. Array values support the 'inclusive
Built from https://develop.svn.wordpress.org/trunk@29936


git-svn-id: http://core.svn.wordpress.org/trunk@29688 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add `@since` annotation for 'user_registered' support in 'date_query_valid_columns' documentation.

Props DrewAPicture.
Fixes #27283.
Built from https://develop.svn.wordpress.org/trunk@29938


git-svn-id: http://core.svn.wordpress.org/trunk@29689 1a063a9b-81f0-0310-95a4-ce76da25c4cd
`wp_schedule_single_event()` should not prevent scheduling a future duplicate event. It should only reject an event as a duplicate if there is already a similar event scheduled within 10 minutes of the given timestamp.

Adds unit tests, fixes existing cron test.

Props tellyworth.

See [9181], #6966.
Fixes #28213.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29690 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Overhaul SQL generating logic in WP_Meta_Query to avoid unnecessary table joins.

The logic used to generate clause SQL in `WP_Meta_Query` is somewhat arcane,
stemming mostly from an ongoing effort to eliminate costly table joins when
they are not necessary. By systematizing the process of looking for shareable
joins - as was done in `WP_Tax_Query` [29902] - it becomes possible to simplify
the construction of SQL queries in `get_sql_for_clause()`. Moreover, the
simplified logic is actually considerably better at identifying shareable
joins, such that certain uses of `WP_Meta_Query` will see joins reduced by 50%
or more.

Includes integration tests for a representative cross-section of the query
clause combinations that result in shared table aliases.

Props boonebgorges, sc0ttkclark.
See #24093.
Built from https://develop.svn.wordpress.org/trunk@29940


git-svn-id: http://core.svn.wordpress.org/trunk@29691 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Bail from cleaning meta query clause when it's not an array.

Later isset() checks on string values were causing notices on PHP < 5.4.

Props jorbin.
See #29642.
Built from https://develop.svn.wordpress.org/trunk@29941


git-svn-id: http://core.svn.wordpress.org/trunk@29692 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Twenty Fifteen: Fix hover and focus style for links in content with custom color schemes.

Props iamtakashi, fixes #29978.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Twenty Fifteen: Removing unused custom color controls.

Props cainm, fixes #29982 and #29959.


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


git-svn-id: http://core.svn.wordpress.org/trunk@29694 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Invalidate cache for child terms when parent term is deleted.

Props socki03.
Fixes #29911.
Built from https://develop.svn.wordpress.org/trunk@29945


git-svn-id: http://core.svn.wordpress.org/trunk@29695 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Twenty Fifteen: correct escaping to render HTML in no-content admin message.

Props dmchale, fixes #30011.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29696 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Customizer: Introduce `customize_preview_$setting->type` action to handle multiple settings of the same type.

props celloexpressions.
fixes #29165.
Built from https://develop.svn.wordpress.org/trunk@29948


git-svn-id: http://core.svn.wordpress.org/trunk@29697 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Twenty Fifteen: centre gallery thumbnails

Props iamtakashi, fixes #30019


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


git-svn-id: http://core.svn.wordpress.org/trunk@29698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Customizer: Extract content markup for panels to its own method, `WP_Customize_Panel::render_content()`.

This allows to override the behavior of a panel, or even to completely replace its contents with something other than controls or sections.

props celloexpressions.
fixes #29324.
Built from https://develop.svn.wordpress.org/trunk@29950


git-svn-id: http://core.svn.wordpress.org/trunk@29699 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Twenty Fifteen: Swap order of description and caption so the caption is underneath an image on image attachment pages.

Props iamtakashi, fixes #30020.


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


git-svn-id: http://core.svn.wordpress.org/trunk@29700 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Remove redundant table alias check in WP_Meta_Query.

Also adds documentation for 'meta_query_find_compatible_table_alias' filter.

See #24093.
Built from https://develop.svn.wordpress.org/trunk@29953


git-svn-id: http://core.svn.wordpress.org/trunk@29701 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Customizer: Use correct panel-back icon in RTL.

props TomHarrigan.
fixes #29946.
Built from https://develop.svn.wordpress.org/trunk@29955


git-svn-id: http://core.svn.wordpress.org/trunk@29702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add ID attribute to style element from wp_add_inline_style().

props westonruter.
fixes #30032.
Built from https://develop.svn.wordpress.org/trunk@29956


git-svn-id: http://core.svn.wordpress.org/trunk@29703 1a063a9b-81f0-0310-95a4-ce76da25c4cd