Ticket #12526: has_term.diff
File has_term.diff, 6.1 KB (added by , 13 years ago) |
---|
-
wp-includes/category-template.php
230 230 return apply_filters( 'the_category', $thelist, $separator, $parents ); 231 231 } 232 232 233 234 233 /** 235 * Check if the current post in within any of the given categories.236 *237 * The given categories are checked against the post's categories' term_ids, names and slugs.238 * Categories given as integers will only be checked against the post's categories' term_ids.239 *240 * Prior to v2.5 of WordPress, category names were not supported.241 * Prior to v2.7, category slugs were not supported.242 * Prior to v2.7, only one category could be compared: in_category( $single_category ).243 * Prior to v2.7, this function could only be used in the WordPress Loop.244 * As of 2.7, the function can be used anywhere if it is provided a post ID or post object.245 *246 * @since 1.2.0247 *248 * @uses is_object_in_term()249 *250 * @param int|string|array $category. Category ID, name or slug, or array of said.251 * @param int|post object Optional. Post to check instead of the current post. @since 2.7.0252 * @return bool True if the current post is in any of the given categories.253 */254 function in_category( $category, $_post = null ) {255 if ( empty( $category ) )256 return false;257 258 if ( $_post ) {259 $_post = get_post( $_post );260 } else {261 $_post =& $GLOBALS['post'];262 }263 264 if ( !$_post )265 return false;266 267 $r = is_object_in_term( $_post->ID, 'category', $category );268 if ( is_wp_error( $r ) )269 return false;270 return $r;271 }272 273 /**274 234 * Display the category list for the post. 275 235 * 276 236 * @since 0.71 … … 969 929 } 970 930 971 931 /** 972 * Check if the current post has any of given tags.932 * Check if the current post has any of given categories. 973 933 * 974 * The given tags are checked against the post's tags' term_ids, names and slugs. 975 * Tags given as integers will only be checked against the post's tags' term_ids. 976 * If no tags are given, determines if post has any tags. 934 * @since 3.0.0 977 935 * 978 * 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) 979 * Prior to v2.7, this function could only be used in the WordPress Loop. 980 * As of 2.7, the function can be used anywhere if it is provided a post ID or post object. 936 * @uses is_object_in_term() 937 * @see has_term() 981 938 * 939 * @param string|int|array $tag Optional. The category name/category_id/slug or array of them to check for. 940 * @param int|post object Optional. Post to check instead of the current post. 941 * @return bool True if the current post has any of the the given categories (or any category, if no category specified). 942 */ 943 function has_category( $category = '', $_post = null ) { 944 return has_term( $category, 'category', $_post ); 945 } 946 947 /** 948 * Check if the current post has any of given tags. 949 * 982 950 * @since 2.6.0 983 951 * 984 952 * @uses is_object_in_term() 953 * @see has_term() 985 954 * 986 * @param string|int|array $tag Optional. The tag name/t erm_id/slug or array of them to check for.987 * @param int|post object Optional. Post to check instead of the current post. @since 2.7.0955 * @param string|int|array $tag Optional. The tag name/tag_id/slug or array of them to check for. 956 * @param int|post object Optional. Post to check instead of the current post. 988 957 * @return bool True if the current post has any of the the given tags (or any tag, if no tag specified). 989 958 */ 990 959 function has_tag( $tag = '', $_post = null ) { 991 if ( $_post ) { 960 return has_term( $tag, 'post_tag', $_post ); 961 } 962 963 964 /** 965 * Check if the current post has any of given terms. 966 * 967 * The given terms are checked against the post's terms' term_ids, names and slugs. 968 * Terms given as integers will only be checked against the post's terms' term_ids. 969 * If no terms are given, determines if post has any terms. 970 * 971 * @since 3.0.0 972 * 973 * @uses is_object_in_term() 974 * 975 * @param string|int|array $tag Optional. The term name/term_id/slug or array of them to check for. 976 * @param int|post object Optional. Post to check instead of the current post. @since 2.7.0 977 * @return bool True if the current post has any of the the given tags (or any tag, if no tag specified). 978 */ 979 function has_term( $term = '', $taxonomy = '', $_post = null ) { 980 if ( $_post ) 992 981 $_post = get_post( $_post ); 993 } else {982 else 994 983 $_post =& $GLOBALS['post']; 995 }996 984 997 985 if ( !$_post ) 998 986 return false; 999 987 1000 $r = is_object_in_term( $_post->ID, 'post_tag', $tag);988 $r = is_object_in_term( $_post->ID, $taxonomy, $term ); 1001 989 if ( is_wp_error( $r ) ) 1002 990 return false; 1003 991 return $r; -
wp-admin/includes/deprecated.php
162 162 return unregister_setting( $option_group, $option_name, $sanitize_callback ); 163 163 } 164 164 165 /** 166 * Check if the current post in within any of the given categories. 167 * 168 * The given categories are checked against the post's categories' term_ids, names and slugs. 169 * Categories given as integers will only be checked against the post's categories' term_ids. 170 * 171 * Prior to v2.5 of WordPress, category names were not supported. 172 * Prior to v2.7, category slugs were not supported. 173 * Prior to v2.7, only one category could be compared: in_category( $single_category ). 174 * Prior to v2.7, this function could only be used in the WordPress Loop. 175 * As of 2.7, the function can be used anywhere if it is provided a post ID or post object. 176 * 177 * @since 1.2.0 178 * @deprecated 3.0.0 179 * @deprecated Use has_category() 180 * @see has_category() 181 * 182 * @uses is_object_in_term() 183 * 184 * @param int|string|array $category. Category ID, name or slug, or array of said. 185 * @param int|post object Optional. Post to check instead of the current post. @since 2.7.0 186 * @return bool True if the current post is in any of the given categories. 187 */ 188 function in_category( $category, $_post = null ) { 189 _deprecated_function( __FUNCTION__, '3.0', 'has_category()' ); 190 return has_category( $category, $_post ); 191 } 165 192 ?> 193 No newline at end of file