The the_tags WordPress PHP filter allows you to modify the list of tags for a given post.
Usage
add_filter('the_tags', 'your_function_name', 10, 5);
function your_function_name($tag_list, $before, $sep, $after, $post_id) {
// your custom code here
return $tag_list;
}
Parameters
$tag_liststring – List of tags.$beforestring – String to use before the tags.$sepstring – String to use between the tags.$afterstring – String to use after the tags.$post_idint – Post ID.
Returns
This filter returns a modified list of tags as a string.
More information
See WordPress Developer Resources: the_tags
Examples
Add a custom class to the tags
This example adds a custom CSS class to each tag.
add_filter('the_tags', 'add_custom_class_to_tags', 10, 5);
function add_custom_class_to_tags($tag_list, $before, $sep, $after, $post_id) {
return str_replace('<a href=', '<a class="custom-class" href=', $tag_list);
}
Add an icon before each tag
This example adds a tag icon before each tag.
add_filter('the_tags', 'add_icon_before_tags', 10, 5);
function add_icon_before_tags($tag_list, $before, $sep, $after, $post_id) {
return str_replace($before, $before . '<i class="icon-tag"></i> ', $tag_list);
}
Wrap each tag in a <span> element
This example wraps each tag in a <span> element.
add_filter('the_tags', 'wrap_tags_in_span', 10, 5);
function wrap_tags_in_span($tag_list, $before, $sep, $after, $post_id) {
return str_replace('<a href=', '<span><a href=', str_replace('</a>', '</a></span>', $tag_list));
}
Change the separator between tags
This example changes the separator between tags to a comma and space.
add_filter('the_tags', 'change_tags_separator', 10, 5);
function change_tags_separator($tag_list, $before, $sep, $after, $post_id) {
return str_replace($sep, ', ', $tag_list);
}
Remove tags from a specific post ID
This example removes all tags from a specific post by its ID.
add_filter('the_tags', 'remove_tags_from_specific_post', 10, 5);
function remove_tags_from_specific_post($tag_list, $before, $sep, $after, $post_id) {
if ($post_id === 123) {
return '';
}
return $tag_list;
}