Avoid a notice in `get_the_category_by_ID()` when `is_wp_error( $term )` is false but `$term->name` is not set. Clarify the `@return` value of `get_category()` and `get_tag()` which return the same possible types as `get_term()`, which they wrap.

Props ericmann, SergeyBiryukov.
Fixes #25429.



git-svn-id: https://develop.svn.wordpress.org/trunk@27521 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Scott Taylor 2014-03-13 04:03:06 +00:00
parent dc73f008ce
commit dad0455ef9
2 changed files with 6 additions and 3 deletions

View File

@ -136,9 +136,11 @@ function _usort_terms_by_ID( $a, $b ) {
function get_the_category_by_ID( $cat_ID ) { function get_the_category_by_ID( $cat_ID ) {
$cat_ID = (int) $cat_ID; $cat_ID = (int) $cat_ID;
$category = get_term( $cat_ID, 'category' ); $category = get_term( $cat_ID, 'category' );
if ( is_wp_error( $category ) ) if ( is_wp_error( $category ) )
return $category; return $category;
return $category->name;
return ( $category ) ? $category->name : '';
} }
/** /**

View File

@ -85,10 +85,11 @@ function get_categories( $args = '' ) {
* @param int|object $category Category ID or Category row object * @param int|object $category Category ID or Category row object
* @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N * @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N
* @param string $filter Optional. Default is raw or no WordPress defined filter will applied. * @param string $filter Optional. Default is raw or no WordPress defined filter will applied.
* @return mixed Category data in type defined by $output parameter. * @return object|array|WP_Error|null Category data in type defined by $output parameter. WP_Error if $category is empty, null if it does not exist.
*/ */
function get_category( $category, $output = OBJECT, $filter = 'raw' ) { function get_category( $category, $output = OBJECT, $filter = 'raw' ) {
$category = get_term( $category, 'category', $output, $filter ); $category = get_term( $category, 'category', $output, $filter );
if ( is_wp_error( $category ) ) if ( is_wp_error( $category ) )
return $category; return $category;
@ -301,7 +302,7 @@ function get_tags( $args = '' ) {
* @param int|object $tag * @param int|object $tag
* @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N * @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N
* @param string $filter Optional. Default is raw or no WordPress defined filter will applied. * @param string $filter Optional. Default is raw or no WordPress defined filter will applied.
* @return object|array Return type based on $output value. * @return object|array|WP_Error|null Tag data in type defined by $output parameter. WP_Error if $tag is empty, null if it does not exist.
*/ */
function get_tag( $tag, $output = OBJECT, $filter = 'raw' ) { function get_tag( $tag, $output = OBJECT, $filter = 'raw' ) {
return get_term( $tag, 'post_tag', $output, $filter ); return get_term( $tag, 'post_tag', $output, $filter );