get_the_category( int $id = false )
Retrieve post categories.
Description Description
This tag may be used outside The Loop by passing a post id as the parameter.
Note: This function only returns results from the default "category" taxonomy. For custom taxonomies use get_the_terms().
Parameters Parameters
- $id
-
(int) (Optional) default to current post ID. The post ID.
Default value: false
Return Return
(WP_Term[]) Array of WP_Term objects, one for each category assigned to the post.
Source Source
File: wp-includes/category-template.php
function get_the_category( $id = false ) { $categories = get_the_terms( $id, 'category' ); if ( ! $categories || is_wp_error( $categories ) ) { $categories = array(); } $categories = array_values( $categories ); foreach ( array_keys( $categories ) as $key ) { _make_cat_compat( $categories[ $key ] ); } /** * Filters the array of categories to return for a post. * * @since 3.1.0 * @since 4.4.0 Added `$id` parameter. * * @param WP_Term[] $categories An array of categories to return for the post. * @param int|false $id ID of the post. */ return apply_filters( 'get_the_categories', $categories, $id ); }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
0.71 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Show the First Category Name Only
(Echoes the first array element ([0]) of
$categories
.)Make the first category link to the category page:
Example response from function:
Expand full source codeCollapse full source code
Get the post category if you have a custom post_type
Show All Categories as Links
This outputs all the categories assigned to the post as links. Must be used inside the loop. You can also use the function
get_the_category_list()
for this.Get the Post Categories From Outside the Loop
Display all categories with name and description
Show Category Images
This outputs category images named after the
cat_ID
with the alt attribute set tocat_name
. You can also use any of the other member variables instead.To display a list of categories associated with a post, separated by commas, write this code:
$cats = array();
foreach (get_the_category($post_id) as $c) {
$cat = get_category($c);
array_push($cats, $cat->name);
}
if (sizeOf($cats) > 0) {
$post_categories = implode(', ', $cats);
} else {
$post_categories = 'Not Assigned';
}
echo $post_categories;