Index: wp-includes/category-template.php
===================================================================
--- wp-includes/category-template.php	(revision 13586)
+++ wp-includes/category-template.php	(working copy)
@@ -964,13 +964,37 @@
  *
  * @since 2.6.0
  *
- * @uses is_object_in_term()
+ * @see has_taxonomy()
  *
  * @param string|int|array $tag Optional. The tag name/term_id/slug or array of them to check for.
  * @param int|post object Optional.  Post to check instead of the current post. @since 2.7.0
  * @return bool True if the current post has any of the the given tags (or any tag, if no tag specified).
  */
 function has_tag( $tag = '', $_post = null ) {
+	return has_taxonomy( $tag, 'post_tag', $_post );
+}
+
+/**
+ * Check if the current post has any of given taxonomies.
+ *
+ * The given tags are checked against the post's tags' term_ids, names and slugs.
+ * Taxonomies given as integers will only be checked against the post's taxonomies' term_ids.
+ * If no tags are given, determines if post has any taxonomies.
+ *
+ * Prior to v2.7 of WordPress, tags given as integers would also be checked against the post's tags' names and slugs (in addition to term_ids)
+ * Prior to v2.7, this function could only be used in the WordPress Loop.
+ * As of 2.7, the function can be used anywhere if it is provided a post ID or post object.
+ *
+ * @since 3.0.0
+ *
+ * @uses is_object_in_term()
+ *
+ * @param string|int|array $tag Optional. The tag name/term_id/slug or array of them to check for.
+ * @param string $taxonomy Optional. The taxonomy to check for.
+ * @param int|post object Optional. Post to check instead of the current post.
+ * @return bool True if the current post has any of the the given tags (or any tag, if no tag specified).
+ */
+function has_taxonomy( $tag = '', $taxonomy = '', $_post = null ) {
 	if ( $_post ) {
 		$_post = get_post( $_post );
 	} else {
@@ -980,7 +1004,7 @@
 	if ( !$_post )
 		return false;
 
-	$r = is_object_in_term( $_post->ID, 'post_tag', $tag );
+	$r = is_object_in_term( $_post->ID, $taxonomy, $tag );
 	if ( is_wp_error( $r ) )
 		return false;
 	return $r;
