[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