X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/f5fcdc7994bb67cce809bc4777944ae8b7fad4a4..53f4633144ed68c8b8fb5861f992b5489894a940:/wp-includes/category.php diff --git a/wp-includes/category.php b/wp-includes/category.php index 1cd4acc7..a94baa7c 100644 --- a/wp-includes/category.php +++ b/wp-includes/category.php @@ -68,7 +68,8 @@ 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 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. + * @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 ); @@ -98,7 +99,7 @@ function get_category( $category, $output = OBJECT, $filter = 'raw' ) { * @param string $category_path URL containing category slugs. * @param bool $full_match Optional. Whether full path should be matched. * @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N - * @return null|object|array Null on failure. Type is based on $output value. + * @return object|array|WP_Error|void Type is based on $output value. */ function get_category_by_path( $category_path, $full_match = true, $output = OBJECT ) { $category_path = rawurlencode( urldecode( $category_path ) ); @@ -108,21 +109,23 @@ function get_category_by_path( $category_path, $full_match = true, $output = OBJ $leaf_path = sanitize_title( basename( $category_paths ) ); $category_paths = explode( '/', $category_paths ); $full_path = ''; - foreach ( (array) $category_paths as $pathdir ) + foreach ( (array) $category_paths as $pathdir ) { $full_path .= ( $pathdir != '' ? '/' : '' ) . sanitize_title( $pathdir ); - + } $categories = get_terms( 'category', array('get' => 'all', 'slug' => $leaf_path) ); - if ( empty( $categories ) ) - return null; + if ( empty( $categories ) ) { + return; + } foreach ( $categories as $category ) { $path = '/' . $leaf_path; $curcategory = $category; while ( ( $curcategory->parent != 0 ) && ( $curcategory->parent != $curcategory->term_id ) ) { $curcategory = get_term( $curcategory->parent, 'category' ); - if ( is_wp_error( $curcategory ) ) + if ( is_wp_error( $curcategory ) ) { return $curcategory; + } $path = '/' . $curcategory->slug . $path; } @@ -139,8 +142,6 @@ function get_category_by_path( $category_path, $full_match = true, $output = OBJ _make_cat_compat( $category ); return $category; } - - return null; } /** @@ -321,7 +322,7 @@ function clean_category_cache( $id ) { * @param array|object $category Category Row object or array */ function _make_cat_compat( &$category ) { - if ( is_object( $category ) ) { + if ( is_object( $category ) && ! is_wp_error( $category ) ) { $category->cat_ID = &$category->term_id; $category->category_count = &$category->count; $category->category_description = &$category->description;