Allow attachment taxonomies to be fetched as objects.
By adding the `$output` parameter to `get_attachment_taxonomies()`, the function signature matches that of `get_object_taxonomies()`. The change also allows for more consistent behavior when passing `output=objects` to `get_object_taxonomies()` for the 'attachment' object type, since the `$output` parameter is now passed through the function stack. Props codemovement.pk. See #37368. Built from https://develop.svn.wordpress.org/trunk@38292 git-svn-id: http://core.svn.wordpress.org/trunk@38233 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
188c568204
commit
344c88d39f
|
@ -2694,11 +2694,15 @@ function adjacent_image_link( $prev = true, $size = 'thumbnail', $text = false )
|
||||||
* Retrieves taxonomies attached to given the attachment.
|
* Retrieves taxonomies attached to given the attachment.
|
||||||
*
|
*
|
||||||
* @since 2.5.0
|
* @since 2.5.0
|
||||||
|
* @since 4.7.0 Introduced the `$output` parameter.
|
||||||
*
|
*
|
||||||
* @param int|array|object $attachment Attachment ID, data array, or data object.
|
* @param int|array|object $attachment Attachment ID, data array, or data object.
|
||||||
|
* @param string $output Output type. 'names' to return an array of taxonomy names,
|
||||||
|
* or 'objects' to return an array of taxonomy objects.
|
||||||
|
* Default is 'names'.
|
||||||
* @return array Empty array on failure. List of taxonomies on success.
|
* @return array Empty array on failure. List of taxonomies on success.
|
||||||
*/
|
*/
|
||||||
function get_attachment_taxonomies( $attachment ) {
|
function get_attachment_taxonomies( $attachment, $output = 'names' ) {
|
||||||
if ( is_int( $attachment ) ) {
|
if ( is_int( $attachment ) ) {
|
||||||
$attachment = get_post( $attachment );
|
$attachment = get_post( $attachment );
|
||||||
} elseif ( is_array( $attachment ) ) {
|
} elseif ( is_array( $attachment ) ) {
|
||||||
|
@ -2723,9 +2727,11 @@ function get_attachment_taxonomies( $attachment ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$taxonomies = array();
|
$taxonomies = array();
|
||||||
foreach ( $objects as $object )
|
foreach ( $objects as $object ) {
|
||||||
if ( $taxes = get_object_taxonomies($object) )
|
if ( $taxes = get_object_taxonomies( $object, $output ) ) {
|
||||||
$taxonomies = array_merge($taxonomies, $taxes);
|
$taxonomies = array_merge( $taxonomies, $taxes );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return array_unique($taxonomies);
|
return array_unique($taxonomies);
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,7 +181,7 @@ function get_object_taxonomies( $object, $output = 'names' ) {
|
||||||
|
|
||||||
if ( is_object($object) ) {
|
if ( is_object($object) ) {
|
||||||
if ( $object->post_type == 'attachment' )
|
if ( $object->post_type == 'attachment' )
|
||||||
return get_attachment_taxonomies($object);
|
return get_attachment_taxonomies( $object, $output );
|
||||||
$object = $object->post_type;
|
$object = $object->post_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '4.7-alpha-38291';
|
$wp_version = '4.7-alpha-38292';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue