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.


Built from https://develop.svn.wordpress.org/trunk@27521


git-svn-id: http://core.svn.wordpress.org/trunk@27364 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Scott Taylor 2014-03-13 04:04:15 +00:00
parent a945b2738f
commit cd2e279d65
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 ) {
$cat_ID = (int) $cat_ID;
$category = get_term( $cat_ID, 'category' );
if ( is_wp_error( $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 string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N
* @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' ) {
$category = get_term( $category, 'category', $output, $filter );
if ( is_wp_error( $category ) )
return $category;
@ -301,7 +302,7 @@ function get_tags( $args = '' ) {
* @param int|object $tag
* @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.
* @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' ) {
return get_term( $tag, 'post_tag', $output, $filter );