wp_set_post_tags()WP 2.3.0

Set the tags for a post.

No Hooks.


Array|false|WP_Error. Array of term taxonomy IDs of affected terms. WP_Error or false on failure.


wp_set_post_tags( $post_id, $tags, $append );
The Post ID. Does not default to the ID of the global $post.
An array of tags to set for the post, or a string of tags separated by commas.
Default: ''
If true, don't delete existing tags, just add on. If false, replace the tags with the new tags.
Default: false



#1 Add tags for the post

This example adds post 42 to the "feelings" and "life" tags (current post tags remains). If the specified tags do not exist, they will be created:

wp_set_post_tags( 42, 'feelings,life', true );

#2 Add array of tags to post with ID 100

Current post tags will be unset and specified ones will be set.

$post_id = 100;
$tags = [ 'Mango', 'Apple', 'Banana' ];

wp_set_post_tags( $post_id, $tags );



Since 2.3.0 Introduced.

wp_set_post_tags() code WP 6.5.2

function wp_set_post_tags( $post_id = 0, $tags = '', $append = false ) {
	return wp_set_post_terms( $post_id, $tags, 'post_tag', $append );