Use a nested meta query when querying by role in `WP_User_Query`.

If a user query includes a meta query together with a role argument,
nest the original meta query and append the role meta query with an
AND relationship.

fixes #23849, #27026.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30094 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add a hidden submit button to the Appearance -> Header screen so keyboard users can submit the form correctly when a default image provided by the theme is in use.

Fixes #20880.
Props kovshenin, joedolson.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Better flexibility for 'type' in `WP_Comment_Query`.

* Add support for an array of values in 'type'.
* Introduce `type__in` parameter. This duplicates 'type' but is added for better consistency with other query classes.
* Introduce `type__not_in`.

Among other things, these changes will make it easier for plugin authors to
manage the appearance of custom comment types in various WP interfaces.

Props dancameron, mordauk.
See #12668.
Built from https://develop.svn.wordpress.org/trunk@30096


git-svn-id: http://core.svn.wordpress.org/trunk@30096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Twenty Fifteen: leading the way with support for title-tag

Props obenland, fixes #30146.


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


git-svn-id: http://core.svn.wordpress.org/trunk@30097 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Use `WP_Comment_Query` to query comments in `get_approved_comments()`.

Props dancameron.
See #12668.
Built from https://develop.svn.wordpress.org/trunk@30098


git-svn-id: http://core.svn.wordpress.org/trunk@30098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Twenty Fifteen: avoid errors by preventing Twenty Fifteen from being activated in old versions of WordPress

Props iamtakashi, fixes #30137.


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


git-svn-id: http://core.svn.wordpress.org/trunk@30099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Improve body class for page templates.

* Convert slash to dash too.
* Add sub-folder name as a separate body class.
* New classes are additional classes, old syntax will persists for BC.

With this `/page-templates/full-width.php` will produce `page-template`, `page-template-page-templates`, `page-template-full-width` and `page-template-page-templatesfull-width-php`.

props obenland, Caspie, donutz.
fixes #23470.
Built from https://develop.svn.wordpress.org/trunk@30100


git-svn-id: http://core.svn.wordpress.org/trunk@30100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fix weird HiDPI screen rendering issue with theme install preview toolbar

fixes #28898
props ocean90
Built from https://develop.svn.wordpress.org/trunk@30101


git-svn-id: http://core.svn.wordpress.org/trunk@30101 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Improve/introduce Customizer JavaScript models for Controls, Sections, and Panels.

* Introduce models for panels and sections.
* Introduce API to expand and focus a control, section or panel.
* Allow deep-linking to panels, sections, and controls inside of the Customizer.
* Clean up `accordion.js`, removing all Customizer-specific logic.
* Add initial unit tests for `wp.customize.Class` in `customize-base.js`.

https://make.wordpress.org/core/2014/10/27/toward-a-complete-javascript-api-for-the-customizer/ provides an overview of how to use the JavaScript API.

props westonruter, celloexpressions, ryankienstra.
see #28032, #28579, #28580, #28650, #28709, #29758.
fixes #29529.


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


git-svn-id: http://core.svn.wordpress.org/trunk@30102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Twenty Fifteen: back compat checks in Twenty Fifteen are breaking the customizer, leaving them in for now, but commented out.

See #30137.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30103 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Customizer: Fix missing newly added widgets in the preview after [29905].

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


git-svn-id: http://core.svn.wordpress.org/trunk@30104 1a063a9b-81f0-0310-95a4-ce76da25c4cd
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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Expand tests around wpmu_delete_blog()

* Test cache after a site is deleted or flagged as deleted.
* Test tables after a site is deleted or flagged as deleted.
* Test tables and cache after the main site is deleted.
* Test site count after a site is deleted or flagged as deleted.

See #30080

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


git-svn-id: http://core.svn.wordpress.org/trunk@30106 1a063a9b-81f0-0310-95a4-ce76da25c4cd
In `get_terms()`, do not override 'hierarchical' and 'pad_counts' when 'parent' is present.

The previous behavior resulted in descendant terms being improperly excluded
from the results when passing a 'parent', even when 'hierarchical' had been
set to true.

The patch also adds unit tests that demonstrate the various interactions
between the 'child_of', 'parent', and 'hierarchical' parameters of `get_terms()`.

Props landakram.
Fixes #29815.
Built from https://develop.svn.wordpress.org/trunk@30107


git-svn-id: http://core.svn.wordpress.org/trunk@30107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Clean up `get_term_by()` caching.

* Fix cache key/group modification that was missed in [30073].
* Update unit tests to reflect new key/group format.

Props tollmanz.
Fixes #21760.
Built from https://develop.svn.wordpress.org/trunk@30108


git-svn-id: http://core.svn.wordpress.org/trunk@30108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Update the changelog for `get_approved_comments()` to reflect that the function was refactored to leverage `WP_Comment_Query` in [30098].

Also updates the `$args` parameter description with a reference to see `WP_Comment_Query` for argument information.

See #12668.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30109 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Update the changelog for `WP_Comment_Query::query()` to reflect two more new arguments added in [30096].

[30096] introduced the `type__in` and `type__not_in` arguments. See #30111 for documentation on those new arguments.

Fixes #12668.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30110 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Update the changelogs for the comment hook parameters added in [30092].

Parameters were added to the `get_comment_author`, `comment_author`, `get_comment_author_email`, `author_email`, `comment_email`, `get_comment_author_link`, `get_comment_author_IP`, `get_comment_author_url`, `comment_url`, `get_comment_excerpt`, `comment_excerpt`, `get_comment_ID`, and `get_comment_type` filters.

Fixes #22380.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30111 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Clean up cache invalidation suspension global in unit tests.

This fixes a test that was introduced in [30073] which was polluting later
tests.

See #21760.
Built from https://develop.svn.wordpress.org/trunk@30112


git-svn-id: http://core.svn.wordpress.org/trunk@30112 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Streamline some `get_terms()` cache tests.

* Split large method into a number of smaller tests.
* Create fewer fixtures.

See #30017.
Built from https://develop.svn.wordpress.org/trunk@30113


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