[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