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

Retrieve the tags for a post.


Description Description

There is only one default for this function, called ‘fields’ and by default is set to ‘all’. There are other defaults that can be overridden in wp_get_object_terms().


Parameters Parameters

$post_id

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

$args

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

Default value: array()


Top ↑

Return Return

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


Top ↑

Source Source

File: wp-includes/post.php

function wp_get_post_tags( $post_id = 0, $args = array() ) {
	return wp_get_post_terms( $post_id, 'post_tag', $args );
}

Top ↑

Changelog Changelog

Changelog
Version Description
2.3.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Codex

    For a post with tags tag2, tag5 and tag6, the code

    $t = wp_get_post_tags($post->ID);
    print_r($t);
    

    displays

    Array
    (
       [0] => stdClass Object
           (
               [term_id] => 4
               [name] => tag2
               [slug] => tag2
               [term_group] => 0
               [term_taxonomy_id] => 4
               [taxonomy] => post_tag
               [description] => 
               [parent] => 0
               [count] => 7
           )
    
       [1] => stdClass Object
           (
               [term_id] => 7
               [name] => tag5
               [slug] => tag5
               [term_group] => 0
               [term_taxonomy_id] => 7
               [taxonomy] => post_tag
               [description] => 
               [parent] => 0
               [count] => 6
           )
    
       [2] => stdClass Object
           (
               [term_id] => 16
               [name] => tag6
               [slug] => tag6
               [term_group] => 0
               [term_taxonomy_id] => 16
               [taxonomy] => post_tag
               [description] => 
               [parent] => 0
               [count] => 2
           )
    
    )
    
    
  2. Skip to note 3 content
    Contributed by Skye Moroney

    Display a post specific list of tags,extending this from an example bhlarsen posted on get_tags(). There is probably a better way to do this.

    $tags = wp_get_post_tags($post->ID); //this is the adjustment, all the rest is bhlarsen
    $html = '<div class="post_tags">';
    foreach ( $tags as $tag ) {
    $tag_link = get_tag_link( $tag->term_id );
    
    $html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
    $html .= "{$tag->name}</a> ";
    }
    $html .= '</div>';
    echo $html;

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