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. Built from https://develop.svn.wordpress.org/trunk@35032 git-svn-id: http://core.svn.wordpress.org/trunk@34997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
156 KiB
156 KiB