wp_get_post_tags()WP 2.3.0

Gets a list of tags for a specified post as an array.

This is the wrapper for wp_get_post_terms().

1 time — 0.016552 sec (extremely slow) | 50000 times — 16.89 sec (slow) | PHP 7.2.5, WP 4.9.8

No Hooks.

Return

Array|WP_Error.

  • array( WP_Term, WP_Term ) — Array of WP_Term objects.
  • array() — empty array if no tags were found.
  • WP_Error — WP_Error object if 'post_tag' taxonomy doesn't exist.

Usage

wp_get_post_tags( $post_id, $args );
$post_id(int)
The Post ID. Does not default to the ID of the global $post.
$args(array)
Tag query parameters. See WP_Term_Query::__construct() for supported arguments.
Default: empty array

Examples

0

#1 Get the tags of the current post

Let's say the post has the following tags: tag2, tag5, tag6, then:

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

/*
As a result, we get the following code on the screen:

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
	   )
)
*/
0

#2 Get a list of tags IDs of the current post

The list will contain only tags IDS (id field):

global $post;
$tag_ids = wp_get_post_tags( $post->ID, array( 'fields' => 'ids' ) );
// $tag_ids = [ 4, 7, 16 ]

Changelog

Since 2.3.0 Introduced.

wp_get_post_tags() code WP 6.7.1

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