The get_tags WordPress PHP filter allows you to modify the array of term objects returned for the ‘post_tag’ taxonomy.
Usage
add_filter('get_tags', 'your_custom_function', 10, 2); function your_custom_function($tags, $args) { // your custom code here return $tags; }
Parameters
$tags
(WP_Term[]|int|WP_Error): Array of ‘post_tag’ term objects, a count thereof, or WP_Error if any of the taxonomies do not exist.$args
(array): An array of arguments. See get_terms() for more information.
More information
See WordPress Developer Resources: get_tags
Examples
Remove specific tags
Remove tags with IDs 3 and 5 from the list of tags.
add_filter('get_tags', 'remove_specific_tags', 10, 2); function remove_specific_tags($tags, $args) { $exclude_ids = array(3, 5); foreach ($tags as $key => $tag) { if (in_array($tag->term_id, $exclude_ids)) { unset($tags[$key]); } } return $tags; }
Sort tags alphabetically
Sort the tags list alphabetically by name.
add_filter('get_tags', 'sort_tags_alphabetically', 10, 2); function sort_tags_alphabetically($tags, $args) { usort($tags, function($a, $b) { return strcmp($a->name, $b->name); }); return $tags; }
Limit number of tags
Limit the number of displayed tags to 5.
add_filter('get_tags', 'limit_number_of_tags', 10, 2); function limit_number_of_tags($tags, $args) { return array_slice($tags, 0, 5); }
Exclude tags with low post count
Exclude tags that have less than 3 posts.
add_filter('get_tags', 'exclude_low_count_tags', 10, 2); function exclude_low_count_tags($tags, $args) { foreach ($tags as $key => $tag) { if ($tag->count < 3) { unset($tags[$key]); } } return $tags; }
Capitalize tag names
Capitalize the first letter of each tag name.
add_filter('get_tags', 'capitalize_tag_names', 10, 2); function capitalize_tag_names($tags, $args) { foreach ($tags as $key => $tag) { $tag->name = ucfirst($tag->name); } return $tags; }