get_the_category( int $post_id = false )

Retrieves post categories.

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

$post_id

(int) (Optional) The post ID. Defaults to current post ID.

Default value: false

Return

(WP_Term[]) Array of WP_Term objects, one for each category assigned to the post.

Source

File: wp-includes/category-template.php

function get_the_category( $post_id = false ) {
	$categories = get_the_terms( $post_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 `$post_id` parameter.
	 *
	 * @param WP_Term[] $categories An array of categories to return for the post.
	 * @param int|false $post_id    ID of the post.
	 */
	return apply_filters( 'get_the_categories', $categories, $post_id );
}

Changelog

Version Description
0.71 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_the_category