Changeset 10159 for trunk/wp-includes/taxonomy.php
- Timestamp:
- 12/09/2008 11:31:11 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/taxonomy.php
r10150 r10159 2225 2225 } 2226 2226 2227 /** 2228 * Determine if the given object is associated with any of the given terms. 2229 * 2230 * The given terms are checked against the object's terms' term_ids, names and slugs. 2231 * Terms given as integers will only be checked against the object's terms' term_ids. 2232 * If no terms are given, determines if object is associated with any terms in the given taxonomy. 2233 * 2234 * @since 2.7.0 2235 * @uses get_object_term_cache() 2236 * @uses wp_get_object_terms() 2237 * 2238 * @param int $object_id. ID of the object (post ID, link ID, ...) 2239 * @param string $taxonomy. Single taxonomy name 2240 * @param int|string|array $terms Optional. Term term_id, name, slug or array of said 2241 * @return bool|WP_Error. WP_Error on input error. 2242 */ 2243 function is_object_in_term( $object_id, $taxonomy, $terms = null ) { 2244 if ( !$object_id = (int) $object_id ) 2245 return new WP_Error( 'invalid_object', __( 'Invalid object ID' ) ); 2246 2247 $object_terms = get_object_term_cache( $object_id, $taxonomy ); 2248 if ( empty( $object_terms ) ) 2249 $object_terms = wp_get_object_terms( $object_id, $taxonomy ); 2250 2251 if ( is_wp_error( $object_terms ) ) 2252 return $object_terms; 2253 if ( empty( $object_terms ) ) 2254 return false; 2255 if ( empty( $terms ) ) 2256 return ( !empty( $object_terms ) ); 2257 2258 $terms = (array) $terms; 2259 2260 if ( $ints = array_filter( $terms, 'is_int' ) ) 2261 $strs = array_diff( $terms, $ints ); 2262 else 2263 $strs =& $terms; 2264 2265 foreach ( $object_terms as $object_term ) { 2266 if ( $ints && in_array( $object_term->term_id, $ints ) ) return true; // If int, check against term_id 2267 if ( $strs ) { 2268 if ( in_array( $object_term->term_id, $strs ) ) return true; 2269 if ( in_array( $object_term->name, $strs ) ) return true; 2270 if ( in_array( $object_term->slug, $strs ) ) return true; 2271 } 2272 } 2273 2274 return false; 2275 } 2276 2227 2277 ?>
Note: See TracChangeset
for help on using the changeset viewer.