[wp-trac] [WordPress Trac] #37291: Check for WP_Error before echo in the_tags()
WordPress Trac
noreply at wordpress.org
Tue Oct 11 01:56:00 UTC 2016
#37291: Check for WP_Error before echo in the_tags()
-------------------------------------+---------------------------
Reporter: michalzuber | Owner: boonebgorges
Type: defect (bug) | Status: closed
Priority: normal | Milestone: 4.6.2
Component: Taxonomy | Version:
Severity: normal | Resolution: fixed
Keywords: has-patch needs-testing | Focuses:
-------------------------------------+---------------------------
Changes (by boonebgorges):
* owner: => boonebgorges
* status: new => closed
* resolution: => fixed
Comment:
In [changeset:"38776"]:
{{{
#!CommitTicketReference repository="" revision="38776"
Taxonomy: Better error handling when fetching object terms from cache.
Since [37573], `get_object_term_cache()` has expected term IDs to be
stored in the taxonomy relationship cache. The function would then
reach directly into the 'terms' cache to fetch the data corresponding
to a given term, before returning a `WP_Term` object. This caused
problems when, for one reason or another, term data was cached
inconsistently:
* If the 'terms' cache is empty for a given term ID, despite the earlier
call to `_prime_term_caches()`, `get_term()` would return an error object.
* If the array of cached term IDs contains an invalid ID, `get_term()`
would return an error object.
We avoid these errors by no longer touching the 'terms' cache directly,
but running term IDs through `get_term()` and allowing that function to
reference the cache (and database, as needed). If `get_term()` returns
an error object for any of the cached term IDs, `get_object_term_cache()`
will return that error object alone. This change ensures that upstream
functions, like `get_the_terms()`, return `WP_Error` objects in a
predictable fashion.
Props dd32, michalzuber.
Fixes #37291.
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/37291#comment:7>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list