wp_get_post_categories( int $post_id, array $args = array() )
Retrieve the list of categories for a post.
Contents
Description
Compatibility layer for themes and plugins. Also an easy layer of abstraction away from the complexity of the taxonomy layer.
See also
Parameters
- $post_id
-
(int) (Optional) The Post ID. Does not default to the ID of the global $post. Default 0.
- $args
-
(array) (Optional) Category query parameters. See WP_Term_Query::__construct() for supported arguments.
Default value: array()
Return
(array|WP_Error) List of categories. If the $fields
argument passed via $args
is 'all' or 'all_with_object_id', an array of WP_Term objects will be returned. If $fields
is 'ids', an array of category IDs. If $fields
is 'names', an array of category names. WP_Error object if 'category' taxonomy doesn't exist.
More Information
The results from wp_get_post_categories() aren’t cached which will result in a database call being 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.
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; }
Expand full source code Collapse full source code View on Trac View on GitHub
Changelog
Version | Description |
---|---|
2.1.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
The example below shows how categories are retrieved, and then additional information is retrieved for each category.
Top ↑
Feedback
It is possible to retrieve all the additional information directly from the call to the function with the args parameter as described in the return description: $post_categories = wp_get_post_categories( $post_id, array ( ‘fields’ = > ‘all’ ) ); — By paquinfrancis —
There is now a better way to retrieve more information. I’ll be adding example bellow — By Sabbir Hasan —
The example below shows how categories are retrieved, and using arguments additional info will be retrieved instead of calling
get_category
Only list Category names: