[wp-trac] [WordPress Trac] #34239: Split queries in `get_terms()` and `wp_get_object_terms()`

WordPress Trac noreply at wordpress.org
Mon Oct 12 15:12:33 UTC 2015


#34239: Split queries in `get_terms()` and `wp_get_object_terms()`
----------------------------+-----------------------------
 Reporter:  boonebgorges    |       Owner:
     Type:  task (blessed)  |      Status:  new
 Priority:  normal          |   Milestone:  Future Release
Component:  Taxonomy        |     Version:
 Severity:  normal          |  Resolution:
 Keywords:  needs-patch     |     Focuses:  performance
----------------------------+-----------------------------

Comment (by boonebgorges):

 In [changeset:"35032"]:
 {{{
 #!CommitTicketReference repository="" revision="35032"
 Don't cache `WP_Term` objects in `wp_get_object_cache()`.

 The data stored in the cache should be raw database query results, not
 `WP_Term` objects (which may be modified by plugins, and may contain
 additional
 properties that shouldn't be cached).

 If term relationships caches were handled in `wp_get_object_terms()` -
 where
 a database query takes place - it would be straightforward to cache raw
 data.
 See #34239. Since, in fact, `get_the_terms()` caches the value it gets
 from
 `wp_get_object_terms()`, we need a technique that allows us to get raw
 data
 from a `WP_Term` object. Mirroring `WP_User`, we introduce a `data`
 property
 on term objects, which `get_the_terms()` uses to fetch cacheable term
 info.

 Fixes #34262.
 }}}

--
Ticket URL: <https://core.trac.wordpress.org/ticket/34239#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list