From 97095d54c3d657b073afc6360fdc45e05941c7cf Mon Sep 17 00:00:00 2001 From: Boone Gorges Date: Wed, 24 Aug 2016 09:20:36 +0000 Subject: [PATCH] In `is_object_in_term()`, return error object rather than caching it. This change prevents an error object from being stored in the cache, and prevents notices from being thrown when plucking term IDs to put into the relationship cache. See #32044, #36814. Merges [38277] to the 4.6 branch. Props rpayne7264. Fixes #37721. Built from https://develop.svn.wordpress.org/branches/4.6@38346 git-svn-id: http://core.svn.wordpress.org/branches/4.6@38287 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/taxonomy.php | 4 ++++ wp-includes/version.php | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php index 104a4afdb5..70af35a326 100644 --- a/wp-includes/taxonomy.php +++ b/wp-includes/taxonomy.php @@ -4274,6 +4274,10 @@ function is_object_in_term( $object_id, $taxonomy, $terms = null ) { $object_terms = get_object_term_cache( $object_id, $taxonomy ); if ( false === $object_terms ) { $object_terms = wp_get_object_terms( $object_id, $taxonomy, array( 'update_term_meta_cache' => false ) ); + if ( is_wp_error( $object_terms ) ) { + return $object_terms; + } + wp_cache_set( $object_id, wp_list_pluck( $object_terms, 'term_id' ), "{$taxonomy}_relationships" ); } diff --git a/wp-includes/version.php b/wp-includes/version.php index e3e63e43b4..9c2338ef68 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.6.1-alpha-38339'; +$wp_version = '4.6.1-alpha-38346'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.