wp_get_post_categories( int $post_id, array $args = array() )
Retrieve the list of categories for a post.
Contents
Description Description
Compatibility layer for themes and plugins. Also an easy layer of abstraction away from the complexity of the taxonomy layer.
See also See also
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 query parameters. See WP_Term_Query::__construct() for supported arguments.
Default value: array()
Return 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 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 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
Changelog Changelog
Version | Description |
---|---|
2.1.0 | Introduced. |
User Contributed Notes 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.
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 —