Taxonomy: Make sure update_object_term_cache() caches all terms that were not already cached.

Due to an unintended `break` instruction from a previous iteration, the function cached only one term in each taxonomy.

Follow-up to [48055].

Props Chouby.
Fixes #50352.

git-svn-id: https://develop.svn.wordpress.org/trunk@48187 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-06-26 22:29:27 +00:00
parent 8603b3da3a
commit 2daeac989d

View File

@ -3418,7 +3418,6 @@ function update_object_term_cache( $object_ids, $object_type ) {
foreach ( $cache_values as $id => $value ) { foreach ( $cache_values as $id => $value ) {
if ( false === $value ) { if ( false === $value ) {
$non_cached_ids[] = $id; $non_cached_ids[] = $id;
break;
} }
} }
} }
@ -3427,6 +3426,8 @@ function update_object_term_cache( $object_ids, $object_type ) {
return false; return false;
} }
$non_cached_ids = array_unique( $non_cached_ids );
$terms = wp_get_object_terms( $terms = wp_get_object_terms(
$non_cached_ids, $non_cached_ids,
$taxonomies, $taxonomies,