From 934d7c5580634545a5c93f416591514cda9d9e90 Mon Sep 17 00:00:00 2001 From: Andrew Nacin Date: Thu, 6 May 2010 18:07:50 +0000 Subject: [PATCH] Allow get_object_taxonomies to return taxonomy objects. props scribu, fixes #13109. git-svn-id: https://develop.svn.wordpress.org/trunk@14479 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/taxonomy.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php index 4abfc0efdb..716e33bc55 100644 --- a/wp-includes/taxonomy.php +++ b/wp-includes/taxonomy.php @@ -101,9 +101,10 @@ function get_taxonomies( $args = array(), $output = 'names', $operator = 'and' ) * @uses $wp_taxonomies * * @param array|string|object $object Name of the type of taxonomy object, or an object (row from posts) + * @param string $output The type of output to return, either taxonomy 'names' or 'objects'. 'names' is the default. * @return array The names of all taxonomy of $object_type. */ -function get_object_taxonomies($object) { +function get_object_taxonomies($object, $output = 'names') { global $wp_taxonomies; if ( is_object($object) ) { @@ -115,9 +116,9 @@ function get_object_taxonomies($object) { $object = (array) $object; $taxonomies = array(); - foreach ( (array) $wp_taxonomies as $taxonomy ) { - if ( array_intersect($object, (array) $taxonomy->object_type) ) - $taxonomies[] = $taxonomy->name; + foreach ( (array) $wp_taxonomies as $tax_name => $tax_obj ) { + if ( array_intersect($object, (array) $tax_obj->object_type) ) + $taxonomies[$tax_name] = ('names' == $output) ? $tax_name : $tax_obj; } return $taxonomies;