X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/af50974463450c98503e763a7836a50e260461a9..784f914b1e4b1c62d6657e86397c2e83bcee4295:/wp-includes/category.php diff --git a/wp-includes/category.php b/wp-includes/category.php index 6d2ad993..a89b4106 100644 --- a/wp-includes/category.php +++ b/wp-includes/category.php @@ -1,8 +1,9 @@ link", 2: "taxonomy => link_category" alternative */ + _deprecated_argument( __FUNCTION__, '3.0', + sprintf( __( '%1$s is deprecated. Use %2$s instead.' ), + 'type => link', + 'taxonomy => link_category' + ) + ); $taxonomy = $args['taxonomy'] = 'link_category'; } - $categories = (array) get_terms( $taxonomy, $args ); + $categories = get_terms( $taxonomy, $args ); - foreach ( array_keys( $categories ) as $k ) - _make_cat_compat( $categories[$k] ); + if ( is_wp_error( $categories ) ) { + $categories = array(); + } else { + $categories = (array) $categories; + foreach ( array_keys( $categories ) as $k ) { + _make_cat_compat( $categories[ $k ] ); + } + } return $categories; } @@ -68,7 +84,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 +115,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 +125,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 +158,6 @@ function get_category_by_path( $category_path, $full_match = true, $output = OBJ _make_cat_compat( $category ); return $category; } - - return null; } /** @@ -316,18 +333,19 @@ function clean_category_cache( $id ) { * pass to it. This is one of the features with using pass by reference in PHP. * * @since 2.3.0 + * @since 4.4.0 The `$category` parameter now also accepts a WP_Term object. * @access private * - * @param array|object $category Category Row object or array + * @param array|object|WP_Term $category Category Row object or array */ function _make_cat_compat( &$category ) { - if ( is_object( $category ) ) { - $category->cat_ID = &$category->term_id; - $category->category_count = &$category->count; - $category->category_description = &$category->description; - $category->cat_name = &$category->name; - $category->category_nicename = &$category->slug; - $category->category_parent = &$category->parent; + if ( is_object( $category ) && ! is_wp_error( $category ) ) { + $category->cat_ID = $category->term_id; + $category->category_count = $category->count; + $category->category_description = $category->description; + $category->cat_name = $category->name; + $category->category_nicename = $category->slug; + $category->category_parent = $category->parent; } elseif ( is_array( $category ) && isset( $category['term_id'] ) ) { $category['cat_ID'] = &$category['term_id']; $category['category_count'] = &$category['count'];