wp_get_post_categories( int $post_id, array $args = array() )

Retrieve the list of categories for a post.


Description Description

Compatibility layer for themes and plugins. Also an easy layer of abstraction away from the complexity of the taxonomy layer.


Parameters Parameters

$post_id

(int) (Optional) The Post ID. Does not default to the ID of the global $post. Default 0.

$args

(array) (Optional) Category arguments.

Default value: array()


Top ↑

Return Return

(array) List of categories.


Top ↑

Source Source

File: wp-includes/post.php

function wp_get_post_categories( $post_id = 0, $args = array() ) {
	$post_id = (int) $post_id;

	$defaults = array('fields' => 'ids');
	$args = wp_parse_args( $args, $defaults );

	$cats = wp_get_object_terms($post_id, 'category', $args);
	return $cats;
}


Top ↑

Changelog Changelog

Changelog
Version Description
2.1.0 Introduced.

Top ↑

More Information More Information

The results from wp_get_post_categories() aren’t cached which will result in a db call beign made every time this function is called. Use this function with care. For performance, functions like get_the_category() should be used to return categories attached to a post



Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note content
    Contributed by Codex

    The example below shows how categories are retrieved, and then additional information is retrieved for each category.

    $post_categories = wp_get_post_categories( $post_id );
    $cats = array();
    	
    foreach($post_categories as $c){
    	$cat = get_category( $c );
    	$cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );
    }
    
    

You must log in before being able to contribute a note.