Allow get_object_taxonomies to return taxonomy objects. props scribu, fixes #13109.

git-svn-id: http://svn.automattic.com/wordpress/trunk@14479 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
nacin 2010-05-06 18:07:50 +00:00
parent 6c69044070
commit 90a0883b12
1 changed files with 5 additions and 4 deletions

View File

@ -101,9 +101,10 @@ function get_taxonomies( $args = array(), $output = 'names', $operator = 'and' )
* @uses $wp_taxonomies * @uses $wp_taxonomies
* *
* @param array|string|object $object Name of the type of taxonomy object, or an object (row from posts) * @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. * @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; global $wp_taxonomies;
if ( is_object($object) ) { if ( is_object($object) ) {
@ -115,9 +116,9 @@ function get_object_taxonomies($object) {
$object = (array) $object; $object = (array) $object;
$taxonomies = array(); $taxonomies = array();
foreach ( (array) $wp_taxonomies as $taxonomy ) { foreach ( (array) $wp_taxonomies as $tax_name => $tax_obj ) {
if ( array_intersect($object, (array) $taxonomy->object_type) ) if ( array_intersect($object, (array) $tax_obj->object_type) )
$taxonomies[] = $taxonomy->name; $taxonomies[$tax_name] = ('names' == $output) ? $tax_name : $tax_obj;
} }
return $taxonomies; return $taxonomies;