Commit Graph

57 Commits

Author SHA1 Message Date
Sergey Biryukov cce65c9baf Users: Use `do_action_ref_array()` for `pre_get_users` and `pre_get_terms` actions.
This brings some consistency with the other similar actions:

* `pre_get_comments`
* `pre_get_networks`
* `pre_get_posts`
* `pre_get_sites`
* `pre_user_query`

Follow-up to [29363] and [37572].

Props andy, adamsilverstein, hellofromTonya, desrosj, SergeyBiryukov.
Fixes #50961.
Built from https://develop.svn.wordpress.org/trunk@49637


git-svn-id: http://core.svn.wordpress.org/trunk@49375 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-11-17 20:09:05 +00:00
Drew Jaynes 68cff74f62 Docs: Clarify documentation for what the 'count' orderby argument represents in `WP_Term_Query`.
Props jeremyescott.
Fixes #44443.

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


git-svn-id: http://core.svn.wordpress.org/trunk@48951 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-18 08:23:06 +00:00
Sergey Biryukov 897f004a9c General: Replace older-style PHP type conversion functions with type casts.
This improves performance, readability, and consistency throughout core.

* `intval()` → `(int)`
* `strval()` → `(string)`
* `floatval()` → `(float)`

Props ayeshrajans.
Fixes #42918.
Built from https://develop.svn.wordpress.org/trunk@49108


git-svn-id: http://core.svn.wordpress.org/trunk@48870 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-08 21:15:13 +00:00
Sergey Biryukov b66ff2f68d Docs: Fix typo in `*_pre_query` filter DocBlocks.
See #50768.
Built from https://develop.svn.wordpress.org/trunk@48985


git-svn-id: http://core.svn.wordpress.org/trunk@48747 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-09-17 10:45:03 +00:00
Sergey Biryukov 1f85e7484f Docs: Consistently use third-person singular verbs for various filter descriptions, per the documentation standards.
See #50768.
Built from https://develop.svn.wordpress.org/trunk@48782


git-svn-id: http://core.svn.wordpress.org/trunk@48544 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-08-11 00:34:08 +00:00
Sergey Biryukov ba445c0a59 Taxonomy: Ensure the `child_of` argument of `get_terms()` works as expected with `'fields' => 'id=>name'` or `'id=>slug'`.
Props Howdy_McGee, deepaklalwani, planvova.
Fixes #46768.
Built from https://develop.svn.wordpress.org/trunk@48663


git-svn-id: http://core.svn.wordpress.org/trunk@48425 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-28 14:23:04 +00:00
John Blackbourn 57a3f803ae Docs: First pass at some inline docs fixes mostly made by PHPCBF.
See #49572, #50744
Built from https://develop.svn.wordpress.org/trunk@48586


git-svn-id: http://core.svn.wordpress.org/trunk@48348 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-23 20:01:04 +00:00
John Blackbourn 124972f2c6 Docs: Further corrections and improvements to various inline docblocks.
See #49572
Built from https://develop.svn.wordpress.org/trunk@48576


git-svn-id: http://core.svn.wordpress.org/trunk@48338 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-23 07:39:02 +00:00
Sergey Biryukov ca4a76d1f5 Docs: Improve formatting of the `$fields` parameter description in `WP_Term_Query::__construct()`.
See #44305, #49572.
Built from https://develop.svn.wordpress.org/trunk@48562


git-svn-id: http://core.svn.wordpress.org/trunk@48324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-22 11:35:07 +00:00
Sergey Biryukov e13c363b17 Docs: Capitalize "ID", when referring to a post ID, term ID, etc. in a more consistent way.
See #49572.
Built from https://develop.svn.wordpress.org/trunk@48104


git-svn-id: http://core.svn.wordpress.org/trunk@47873 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-20 12:02:12 +00:00
Sergey Biryukov 353def14e2 Docs: Document the `term_order` value for the `orderby` parameter of `WP_Term_Query::__construct()`.
Props pbiron.
See #49572.
Built from https://develop.svn.wordpress.org/trunk@47898


git-svn-id: http://core.svn.wordpress.org/trunk@47672 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-03 14:41:06 +00:00
Sergey Biryukov 5636fb886b Docs: Reformat the `orderby` section of `WP_Term_Query::__construct()` for better readability.
This makes it more consistent with the `fields` section.

See #49572.
Built from https://develop.svn.wordpress.org/trunk@47897


git-svn-id: http://core.svn.wordpress.org/trunk@47671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-03 14:37:09 +00:00
Sergey Biryukov 7932193708 Coding Standards: Use strict comparison where static strings are involved.
This reduces the number of `WordPress.PHP.StrictComparisons.LooseComparison` issues in half, from 1897 to 890.

Includes minor code layout fixes for better readability.

See #49542.
Built from https://develop.svn.wordpress.org/trunk@47808


git-svn-id: http://core.svn.wordpress.org/trunk@47584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-16 18:42:12 +00:00
John Blackbourn 2e22c8292d Docs: Correct and improve the readability of some parameters of `WP_Term_Query`.
See #48303

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


git-svn-id: http://core.svn.wordpress.org/trunk@46452 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-04 17:50:02 +00:00
Boone Gorges 17d32ebc8f Taxonomy: Ensure consistency of `hide_empty` in term queries when `taxonomy` is excluded.
When querying for terms in hierarchical categories using `hide_empty=true`,
results have historically included parent terms which are themselves
unattached to any objects (are "empty") but which have non-empty descendent
terms. Because this process involves walking the descendant tree, we avoid it
when we detect that the queried taxonomies are not hierarchical. (This
behavior was introduced in [5525].)

When the `taxonomy` parameter of `get_terms()` was made optional - see #35495,
[36614] - it affected the mechanism for avoiding unneccessary tree walks,
since there may not be any explicitly declared taxonomies to run through
`is_taxonomy_hierarchical()`. As a result, term queries excluding `taxonomy`
did not check descendants, and empty parents with non-empty children were not
included in `hide_empty` results.

We correct the behavior by crawling term descendants when the `taxonomy`
argument is absent, which means that we're querying for terms in all taxonomies.

Props smerriman.
Fixes #37728.
Built from https://develop.svn.wordpress.org/trunk@45888


git-svn-id: http://core.svn.wordpress.org/trunk@45699 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-23 16:05:56 +00:00
Sergey Biryukov c26f1c5d90 Taxonomy: Fix deprecated calls to `get_terms()`.
The taxonomy should be passed as part of `$args`, rather than as its own argument.

Props sgastard, mukesh27, SergeyBiryukov.
Fixes #47819.
Built from https://develop.svn.wordpress.org/trunk@45723


git-svn-id: http://core.svn.wordpress.org/trunk@45534 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-03 03:35:56 +00:00
Gary Pendergast 4803fc405e Coding Standards: Fix the `Squiz.PHP.DisallowMultipleAssignments` violations in `wp-includes`.
See #47632.


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


git-svn-id: http://core.svn.wordpress.org/trunk@45401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-02 23:42:58 +00:00
Adam Silverstein 4568c13df8 Taxonomy: add a new 'terms_pre_query' filter to short circuit WP_Term_Query 'get_terms' queries.
Add a new `terms_pre_query` filter which returns null by default. Return a non-null value to bypass WordPress's default `get_terms` queries.

Props jarocks, boonebgorges, spacedmonkey.
Fixes #41246.


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


git-svn-id: http://core.svn.wordpress.org/trunk@45395 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-01 20:48:58 +00:00
Gary Pendergast 56c162fbc9 Coding Standards: Upgrade WPCS to 1.0.0
WPCS 1.0.0 includes a bunch of new auto-fixers, which drops the number of coding standards issues across WordPress significantly. Prior to running the auto-fixers, there were 15,312 issues detected. With this commit, we now drop to 4,769 issues.

This change includes three notable additions:
- Multiline function calls must now put each parameter on a new line.
- Auto-formatting files is now part of the `grunt precommit` script. 
- Auto-fixable coding standards issues will now cause Travis failures.

Fixes #44600.


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


git-svn-id: http://core.svn.wordpress.org/trunk@43400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-17 01:51:36 +00:00
Boone Gorges 38c33611e0 Correct param documentation for `WP_Term_Query`.
The description of `$meta_type` introduced in [40053] was incorrect.

Props dlh.
Fixes #44608.
Built from https://develop.svn.wordpress.org/trunk@43559


git-svn-id: http://core.svn.wordpress.org/trunk@43388 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-08 19:23:25 +00:00
Sergey Biryukov df49ab8363 Docs: Change `@since` entry for `WP_Term_Query::populate_terms()` added in [43049] to 4.9.8.
See #42691.
Built from https://develop.svn.wordpress.org/trunk@43491


git-svn-id: http://core.svn.wordpress.org/trunk@43318 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-07-17 16:25:26 +00:00
Boone Gorges ecb4491670 Taxonomy: Improve cache handling when querying for terms using `all_with_object_id`.
When a term query using `fields=all_with_object_id` hits the cache, the
cached `stdClass` objects must be converted to `WP_Term` objects. This
was overlooked when `WP_Term_Query` was refactored to support object
queries in [38667].

Props dlh.
Fixes #44221.
Built from https://develop.svn.wordpress.org/trunk@43313


git-svn-id: http://core.svn.wordpress.org/trunk@43142 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-05-25 01:23:23 +00:00
Boone Gorges 2d62b67211 Taxonomy: Fix `$object_ids` reference in `WP_Term_Query` parameter documentation.
Props dlh.
Fixes #44200.
Built from https://develop.svn.wordpress.org/trunk@43308


git-svn-id: http://core.svn.wordpress.org/trunk@43137 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-05-23 02:24:21 +00:00
Boone Gorges 0dc6bd7c04 Taxonomy: Ensure that invalid term objects are discarded in `WP_Term_Query`.
The `get_term()` mapping may result in term objects that are `null` or
`WP_Error` when plugins use `get_term` or a related filter. Since `null`
and error objects are not valid results for a term query, we discard
them.

Props GM_Alex.
See #42691.
Built from https://develop.svn.wordpress.org/trunk@43049


git-svn-id: http://core.svn.wordpress.org/trunk@42878 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-04-30 21:08:22 +00:00
John Blackbourn 2361ca884f Docs: Document more parameters and properties using typed array notation.
See #41756

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


git-svn-id: http://core.svn.wordpress.org/trunk@42706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 19:33:31 +00:00
Gary Pendergast aaf99e6913 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.


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


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
Boone Gorges d86fe35b7f Improve data types returned from empty hierarchical term queries.
When querying for 'count', ensure that 0 is returned. Otherwise,
ensure that it's an array.

Props xParham, birgire.
Fixes #42327.
Built from https://develop.svn.wordpress.org/trunk@42209


git-svn-id: http://core.svn.wordpress.org/trunk@42038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-20 22:46:47 +00:00
Boone Gorges af960204b6 Taxonomy: Add note about `$number` inconsistency to `WP_Term_Query` docs.
Fixes #41796.
Built from https://develop.svn.wordpress.org/trunk@41881


git-svn-id: http://core.svn.wordpress.org/trunk@41715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-16 18:38:48 +00:00
Boone Gorges 9f73875705 Don't force distinct term queries when specifying `number` and `object_ids`.
This reverts [41377], which caused performance problems on sites with a large
number of terms.

See #41796.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41714 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-16 18:35:47 +00:00
Sergey Biryukov 2e8615f21e REST API: After [41760], use correct query variable in `WP_Term_Query::parse_orderby()` when `'include_slugs' => 'slug__in'` is passed.
See #40826.
Built from https://develop.svn.wordpress.org/trunk@41769


git-svn-id: http://core.svn.wordpress.org/trunk@41603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-05 02:28:47 +00:00
K. Adam White 30827e4a4f REST API: Support ordering response collection by listed slugs.
Adds an "include_slug" orderby value for REST API collections to permit returning a collection filtered by slugs in the same order in which those slugs are specified.
Previously, the order of slugs provided with the ?slug query parameter had no effect on the order of the returned records.

Props wonderboymusic, ocean90, boonebgorges.
Fixes #40826.


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


git-svn-id: http://core.svn.wordpress.org/trunk@41594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-05 00:37:47 +00:00
Boone Gorges 3f7bc21548 Taxonomy: Force a `DISTINCT` term query when result count matters.
Generally, duplicate terms returned by a term query are eliminated in PHP,
after the database query takes place. This technique doesn't work properly
when the query parameters specify the `number` of results, since the results
of a `SELECT ... LIMIT x...` query may be deduplicated to a count less than
`x`. In these cases, we force the original query to be `DISTINCT`.

Props elvishp2006.
Fixes #41796.
Built from https://develop.svn.wordpress.org/trunk@41377


git-svn-id: http://core.svn.wordpress.org/trunk@41210 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-13 14:48:45 +00:00
Drew Jaynes 0860bb2771 Docs: Remove `@access` notations from method DocBlocks in wp-includes/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 00:41:44 +00:00
Boone Gorges 779788d8d6 When querying for terms, do not assume that `$taxonomies` is a 0-indexed array.
In [25108], the logic of term queries was modified to avoid assuming
that the `taxonomies` array was numerically indexed. See #23506. This
fix was inadvertantly reverted during the refactor in [25162].

Props david.binda.
Fixes #41113.
Built from https://develop.svn.wordpress.org/trunk@40924


git-svn-id: http://core.svn.wordpress.org/trunk@40774 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-06-23 02:06:42 +00:00
Drew Jaynes 39d2d9f19e Docs: Include 'parent' as an acceptable entry for the `$orderby` argument in `WP_Term_Query`.
h/t kalor.
See #41017.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40750 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-06-13 03:11:40 +00:00
Boone Gorges 72e14046c7 Improve querying for terms with falsey names and slugs.
Prior to [38677], `get_term_by()` would always return false if
an empty string were passed as the queried 'name' or 'slug'. The
refactor to use `get_terms()` broke this behavior; inappropriately
imprecise `empty()` checks caused the 'name' or 'slug' clause to be
discarded altogether when fetching terms, resulting in an incorrect
term being returned from the function.

We fix the regression by special-casing truly empty values passed
to `get_term_by()`, and ensuring that `WP_Term_Query` is properly
able to handle `0` and `'0'` term queries.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40200 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-16 02:04:43 +00:00
Boone Gorges 2282cd8cf1 Taxonomy: When querying terms, ensure `$taxonomies` is an array.
This avoids PHP notices that otherwise arise when no `taxonomy`
parameter is passed to `get_terms()` or `WP_Term_Query`.

Props dlh.
Fixes #39932.
Built from https://develop.svn.wordpress.org/trunk@40147


git-svn-id: http://core.svn.wordpress.org/trunk@40086 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-03 03:02:43 +00:00
Sergey Biryukov 62dc0e6c57 Docs: Add missing `meta_type` and `meta_compare` arguments to `WP_Term_Query::__construct()` and `get_terms()` docblocks.
Props 1naveengiri.
Fixes #39825.
Built from https://develop.svn.wordpress.org/trunk@40053


git-svn-id: http://core.svn.wordpress.org/trunk@39990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-10 02:28:43 +00:00
Sergey Biryukov 64bb76d122 Docs: Correct `@since` and `@access` tags for `WP_Term_Query::get_terms()` and `WP_Term_Query::parse_orderby_meta()`.
Props keesiemeijer.
Fixes #39467.
Built from https://develop.svn.wordpress.org/trunk@39675


git-svn-id: http://core.svn.wordpress.org/trunk@39615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-01-04 13:39:43 +00:00
Boone Gorges 3ef41856bb Taxonomy: Ensure that mods to query vars in `pre_term_query` callbacks have an effect.
Previously, it was possible to modify the `query_vars` array, but
the changes would be ignored after `pre_term_query` had finished
running.

Props jfarthing84.
Fixes #39354.
Built from https://develop.svn.wordpress.org/trunk@39625


git-svn-id: http://core.svn.wordpress.org/trunk@39565 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-12-21 03:02:40 +00:00
Boone Gorges 1dd88e334b Taxonomy: Remove redundant 'get_terms_args' filter call from `WP_Term_Query`.
Introduced in [37572]. The correct 'get_terms_args' filter call is in
`WP_Term_Query::get_terms()`.

Props Tkama.
Fixes #38589.
Built from https://develop.svn.wordpress.org/trunk@39057


git-svn-id: http://core.svn.wordpress.org/trunk@38999 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-31 15:47:33 +00:00
Aaron Jorbin 82911b1756 Cache API: introduce wp_cache_get_last_changed to improve DRY
One thing fairly common to the cache groups is a block of code to look to see when the cache was last changed, and if there isn't one, to set it for the current microtime(). It appears in 8 different places in core. This adds a new helper `wp_cache_get_last_changed` to DRY things up a bit.

Since `wp-includes/cache.php` isn't guaranteed to be loaded, this new function is in `wp-includes/functions.php`

Props spacedmonkey, desrosj.
Fixes #37464.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38792 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-21 02:54:34 +00:00
Boone Gorges acd764a1d3 Taxonomy: Cache results of term count queries.
Fixes #38295.
Built from https://develop.svn.wordpress.org/trunk@38784


git-svn-id: http://core.svn.wordpress.org/trunk@38727 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-12 15:30:31 +00:00
Gary Pendergast af69f4ab1a General: Restore usage of `$wpdb`, instead of `$this->db`.
Hiding the `$wpdb` global behind a property decreases the readability of the code, as well as causing irrelevant output when dumping an object.

Reverts [38275], [38278], [38279], [38280], [38387].
See #37699.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38711 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-10 06:38:31 +00:00
Boone Gorges 3b6314e032 Taxonomy: Use `WP_Term_Query` when querying for object terms.
The new 'object_ids' parameter for `WP_Term_Query` allows queries for
terms that "belong to" a given object. This change makes it possible
to use `WP_Term_Query` inside of `wp_get_object_terms()`, rather than
assembling a SQL query.

The refactor has a couple of benefits:
* Less redundancy.
* Better consistency in accepted arguments between the term query functions. See #31105.
* Less redundancy.
* Object term queries are now cached. The `get_object_term_cache()` cache remains, and will be a somewhat less fragile secondary cache in front of the query cache (which is subject to frequent invalidation).
* Less redundancy.

A small breaking change: Previously, if a non-hierarchical taxonomy had
terms that had a non-zero 'parent' (perhaps because of a direct SQL
query), `wp_get_object_terms()` would respect the 'parent' argument.
This is in contrast to `WP_Term_Query` and `get_terms()`, which have
always rejected 'parent' queries for non-hierarchical taxonomies. For
consistency, the behavior of `get_terms()` is being applied across the
board: passing 'parent' for a non-hierarchical taxonomy will result in
an empty result set (since the cached taxonomy hierarchy will be empty).

Props flixos90, boonebgorges.
See #37198.
Built from https://develop.svn.wordpress.org/trunk@38667


git-svn-id: http://core.svn.wordpress.org/trunk@38610 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-28 03:55:33 +00:00
Boone Gorges 77a3cc733e Query: 'orderby=include' should support comma-separated lists.
[30052] assumed that 'include' would be an array.

Props TimothyBlynJacobs.
Fixes #37904.
Built from https://develop.svn.wordpress.org/trunk@38500


git-svn-id: http://core.svn.wordpress.org/trunk@38441 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-01 16:51:30 +00:00
Boone Gorges 3d593c5fc1 Eliminate unnecessary variable in `WP_Term_Query`.
Props ocean90.
Fixes #37544.
Built from https://develop.svn.wordpress.org/trunk@38377


git-svn-id: http://core.svn.wordpress.org/trunk@38318 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:12:26 +00:00
Scott Taylor bd816e5182 Taxonomy: in `get_terms()`, do not assume that legacy args are being passed when the only params are top-level `meta_*` values. Add keys in `WP_Term_Query::__construct()`.
Adds unit tests.

Props flixos90, boonebgorges.
Fixes #37568.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38278 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-23 14:45:28 +00:00
Scott Taylor e7ffad7fac Query: add a `protected` field, `$db`, (composition, as it were) to `WP_*_Query` classes to hold the value for the database abstraction, instead of importing the `global $wpdb` into every method that uses it. Reduces the number of global imports by 32.
See #37699.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38216 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-18 18:21:31 +00:00
Scott Taylor 0598f0bc4b Taxononmy: set `WP_Term_Query::terms` when returning terms from the cache in `WP_Term_Query::get_terms()`.
See #37591.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38153 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-07 04:48:29 +00:00