[wp-trac] [WordPress Trac] #34262: `get_the_terms()` should not cache `WP_Term` objects
WordPress Trac
noreply at wordpress.org
Mon Oct 12 15:12:31 UTC 2015
#34262: `get_the_terms()` should not cache `WP_Term` objects
--------------------------+---------------------------
Reporter: boonebgorges | Owner: boonebgorges
Type: defect (bug) | Status: closed
Priority: normal | Milestone: 4.4
Component: Taxonomy | Version:
Severity: normal | Resolution: fixed
Keywords: | Focuses:
--------------------------+---------------------------
Changes (by boonebgorges):
* owner: => boonebgorges
* status: new => closed
* resolution: => fixed
Comment:
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/34262#comment:3>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list