WordPress contains a function for getting the tags associated with a post (get_the_tags
) but none for retrieving the IDs of all site wide available tags.
The solution to this problem is quite easy if you remember that post tags are nothing else but pre-defined taxonomies and that you can use the function get_terms to retrieve the terms of a taxonomy:
$tag_ids = get_terms( 'post_tag', array('fields' => 'ids', 'get' => 'all') ); |
Funny enough there is a function for getting all category IDs (get_all_category_ids).
And that’s exactly what
get_all_category_ids()
does internally, except it passes ‘category’ instead of ‘post_tag’ for the taxonomy name.Seems like there should be a
get_all_term_ids( $tax_name = 'category' )
function added to core, and possibly deprecate get_all_category_ids.The problem seems to be that most people do not know how WordPress stores the tags in the database. They look for a table like
wp_tags
and functions like
get_all_tag_ids()
. They do not connect "tag" and "taxonomy" and therefore a function calledget_all_term_ids
would not help them.Nevertheless such a function would make the logic of the WordPress functions more consistent. Sounds like a good idea.
And how would this code look like to show ALL Tag-IDs of the actual post?