In wp_get_object_terms(), before returning terms (and before running them through the 'wp_get_object_terms' filter) - run them through $terms = array_values( array_unique( $terms, SORT_REGULAR ) ).

There will be "dupes" when the function is called with `'fields' => 'all_with_object_id'`, but the objects will actually be unique due to the `object_id` addition, so they shouldn't be filtered out. 

Adds unit tests. All other unit tests pass.

Fixes #11003.


git-svn-id: https://develop.svn.wordpress.org/trunk@28583 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Scott Taylor
2014-05-27 03:28:05 +00:00
parent 7f2cad1809
commit 4dd4a32cde
2 changed files with 24 additions and 2 deletions
+4 -2
View File
@@ -2337,9 +2337,11 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
}
}
if ( ! $terms )
if ( ! $terms ) {
$terms = array();
} else {
$terms = array_values( array_unique( $terms, SORT_REGULAR ) );
}
/**
* Filter the terms for a given object or objects.
*