wp_get_post_terms( int $post_id, string|array $taxonomy = 'post_tag', array $args = array() )

Retrieves the terms for a post.

Description Description

Parameters Parameters


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


(string|array) (Optional) The taxonomy slug or array of slugs for which to retrieve terms.

Default value: 'post_tag'


(array) (Optional) Term query parameters. See WP_Term_Query::__construct() for supported arguments.

  • 'fields'
    (string) Term fields to retrieve. Default 'all'.

Default value: array()

Top ↑

Return Return

(array|WP_Error) Array of WP_Term objects on success or empty array if no terms were found. WP_Error object if $taxonomy doesn't exist.

Top ↑

Source Source

File: wp-includes/post.php

function wp_get_post_terms( $post_id = 0, $taxonomy = 'post_tag', $args = array() ) {
	$post_id = (int) $post_id;

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

	$tags = wp_get_object_terms( $post_id, $taxonomy, $args );

	return $tags;

Top ↑

Changelog Changelog

Version Description
2.8.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 2 content
    Contributed by Codex


    //Returns All Term Items for "my_taxonomy".
    $term_list = wp_get_post_terms( $post->ID, 'my_taxonomy', array( 'fields' => 'all' ) );
    print_r( $term_list );
    // Returns Array of Term Names for "my_taxonomy".
    $term_list = wp_get_post_terms( $post->ID, 'my_taxonomy', array( 'fields' => 'names' ) );
    print_r( $term_list );
    // Returns Array of Term ID's for "my_taxonomy".
    $term_list = wp_get_post_terms( $post->ID, 'my_taxonomy', array( 'fields' => 'ids' ) );
    print_r( $term_list );

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