[wp-trac] [WordPress Trac] #37198: Use `WP_Term_Query` for `wp_get_object_terms()`
WordPress Trac
noreply at wordpress.org
Wed Sep 28 03:54:39 UTC 2016
#37198: Use `WP_Term_Query` for `wp_get_object_terms()`
-------------------------+---------------------------
Reporter: flixos90 | Owner: boonebgorges
Type: enhancement | Status: assigned
Priority: normal | Milestone: 4.7
Component: Taxonomy | Version: 4.6
Severity: normal | Resolution:
Keywords: has-patch | Focuses:
-------------------------+---------------------------
Comment (by boonebgorges):
In [changeset:"38667"]:
{{{
#!CommitTicketReference repository="" revision="38667"
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.
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/37198#comment:11>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list