• Sotware by
  • Christoph Amthor
Search Menu

Tag Groups – Documentation

Note: This plugin is provided for free. Particularly if you use it to make money or in a profit-making context, however, I would appreciate if you could make a donation or give it a 5-star rating. Thank you!

Return to the main page of Tag Groups.


  1. Find the plugin in the list at the backend and click to install it. Or, upload the ZIP file through the admin backend. Or, upload the unzipped tag-groups folder to the /wp-content/plugins/ directory.1
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.


The plugin creates a new submenu under the Settings menu. The first thing you should do is go to the “Basics” tab and select the taxonomy that you want to organize in groups. The default is “post_tag”, which is the default taxonomy that people mean when they talk about “WordPress tags”2. In most cases you just keep the default.


  1. Don’t select more taxonomies than you actually want to use with that plugin.
  2. Don’t select more than one taxonomy from each post type. You can see the post type when hovering your mouse over a taxonomy.
  3. Avoid using hierarchical taxonomies, such as categories.

After you have saved your changes, a new submenu “Tag Groups” will appear under the menu of that chosen post type. For “post_tag”, you find the “Tag Groups” menu under “Posts”.

Create and Edit Tag Groups

The next step is to create groups. Before you have any tag groups, you cannot assign your tags to them.

The following screenshot gives you an overview of the various functions:

WordPress Tag Groups - group administration

Tag Group screen

  • Create a new group below a row by clicking on the plus icon.
  • Click on the trash icon to delete a group.
  • Click on an arrow to move a group up or down. The order is relevant for displaying groups in tag clouds.
  • Drag and drop a group to a new position.
  • Click into a name to edit it.
  • Click on the number of tags to go to the list of tags, filtered by the selected group.
  • Click on the paper sheets icon to go to the list of posts, filtered by the selected group.

You can always come back later and add, rename and reorder the groups.

Deleting a group will not delete any tags, but mark them as “unassigned”.

Edit Tags

Next, go to the tags (or your chosen taxonomy) and assign them to groups. By default, each tag is unassigned (group ID 0). In the free version each tag can be assigned only to one group.

There are several ways how to assign tags to groups or unassign them.

  1. When you create a new tag, select the group in the drop-down menu.
  2. Click on an existing tag and on the edit screen select the group in the drop-down menu.
  3. Click on “Quick Edit” under the tag in the list and select the group in the drop-down menu.
  4. Change multiple tags in one go with the “Bulk Actions” menu.

Bulk Actions

This tool lets you assign multiple tags to one group, or unassign them all at once.

  1. Select multiple tags.
  2. Choose a group in the second drop-down menu.
  3. Click “Apply”.

Tag Filter

You can filter the list of tags by a group to show only tags that belong to that group. Simply select the group under “Filter off” and click “Apply”.

WordPress Tags edit page

Assign tags to groups where you edit them, and filter the list by tag group.

Post Filter

On the Posts page (“All Posts” menu) you find a filter above the list that filters the posts by tag groups. If the filter is active, only posts are displayed that have at least one tag that belongs to the selected tag group.

Restrictions: The filter does not work for multiple taxonomies in the same post type3 and not for “category”4.

WordPress tag group post filter

Filter the posts by the groups their tags belong to. This example shows WooCommerce products.

Tag Cloud

Now you have tag groups and you have assigned some or all tags to these groups. Let’s now display them in a tag cloud that shows the tags sorted by these groups.

The free plugin comes with two types of tag clouds:

  1. A tabbed tag cloud where each group has its own tab.
  2. An accordion where each group can be opened and closed vertically.
Tag Cloud with tabs

Example of the tabbed tag cloud. Theme: “Blitzer”


Tag Cloud in an Accordion

Tag Cloud in an Accordion

You create these tag clouds in a post, page or widget either by inserting a shortcode5 or directly by hard-coding them into a WordPress theme.6


Each shortcode comes with a variety of parameters that let you show and hide empty tabs or tags, set the smallest and largest font size, open tabs my clicking or hovering with the mouse pointer, you can prepend a character or have your own separator, you can customize the tooltip and add further queries to the link, and much more. You can find the description of these parameters on a separate page and also in the Settings.

Using these parameters and possibly some custom CSS, your tag cloud can even get rid of all tabs and just show the tags of one group.

Some points need to be highlighted:

  1. If you select more than one taxonomy then all the terms of the various categories will be mixed into one cloud.
  2. If you don’t use “post_tag” as your tag group taxonomy then you have to tell the shortcode which taxonomy it has to show. (For example taxonomy=”product_tag”7 if you use WooCommerce product tags.)
  3. If you need to list tag groups in parameters, use the IDs that you find on the Tag Groups page (where you create and edit groups).

You can choose from some default designs in the Tag Groups Settings, or you create your own theme. See “Creating Your Own Theme” below. That procedure is for advanced users who have access to the file system of the WordPress site.

If you need your tag clouds to match your theme’s colors and design, you might have to consult the creator of your theme. Adjusting the styling is beyond the capacities of this plugin.


By default the function tag_groups_cloud returns the html for a tabbed tag cloud. If you want to add the tag cloud directly into your theme, you could do it like this:

 if ( function_exists( 'tag_groups_cloud' ) ) echo tag_groups_cloud( array( 'amount' => 10 ) );

The array can, of course, contain also more parameters:

array( 'include' => '1,2,5,6', 'amount' => 10 )

If the optional second parameter is set to ‘true’, the function will return a multidimensional array containing tag groups and tags:

 if ( function_exists( 'tag_groups_cloud' ) ) print_r( tag_groups_cloud( array( 'orderby' => 'count', 'order' => 'DESC' ) , true ) );
Other Functions
post_in_tag_group( $post_id, $tag_group_id )

Checks whether the post with the given $post_id has at least one tag that is part of the tag group with the given $tag_group_id. Returns true or false.

Further Examples

You can find more examples of PHP code on this page.

Examples of Tag Clouds in Action

Examples are available on separate pages.

More Features

The free Tag Groups plugin gives you all you need to organize your tags in groups and to display them on your front end. If you like to extend the functionalities to posts (replace the tag box with one where tags are available in groups) or assign the same tag to many groups, you should take a look at the premium plugin.

Creating Your Own Theme

The tag cloud comes bundled with three themes 8. Alternatively, you can also use your own theme. The easiest way to achieve this is to create one using the jQuery UI ThemeRoller, then download the file, extract from it the part containing CSS and images, upload the contained css folder to your WordPress wp-content/upload folder and then tell Tag Groups where to find it.

Here it is step by step:

  1. Go to jQuery UI ThemeRoller. On their page you find on the left side “Roll your own”; or pick one ready-made theme from the “Gallery.” In the center part of the page you can see a preview.
  2. Under the thumbnails in the Gallery or below the “Roll your own” tab you find the download button, taking you to another page (“Download Builder”) with several further options. You will need to select the version 1.12.x and under “Widget” the components “Accordion” and “Tabs”. Other components will be added automatically.
  3. Go to the settings at the bottom and enter as “CSS Scope” the class .tag-groups-cloud (including the leading dot) and download the file.
  4. Then you unpack the downloaded zip file. You will need the “images” folder and the “jquery-ui.theme.min.css” file.
  5. Create a new folder inside your/wp-content/uploads folder (for example “my-theme”) and copy there these two items (e.g. with a FTP client). This place should be safe from being overwritten by future updates of WordPress or plugins. If you want to keep your uploads folder organized, you can also create a containing folder for your css and add it to the “Theme Folder Name (e.g. “tag-cloud-themes/blue-theme”).
  6. Enter the name of this new folder (for example “my-theme”) in the field on the Tab Groups Settings page on the backend, select “own theme” and save the changes.

You can also leave the field for your custom theme empty. You may want to do this for example if the theme of your blog already provides tabs and you like to blend the tag cloud into this design.

If the styling doesn’t appear, you could first check if your uploaded files have the correct permissions. Try to load the css and images directly in your browser (like



The tag cloud doesn’t show in a text widget, instead I see the shortcode

Try “Enable shortcode in sidebar widgets” in the settings.

The list on the posts page is messed up

Some users have experienced interference with other plugins that caused the list being messed up, showing wrong content etc. If that happens, turn off the filter in the settings at “filter on post admin”.

Styling doesn’t seem to be effective

Check if the values for div_id, div_class etc. are valid names for ids and classes. Maybe you also need to purge the cache of your WordPress installation. Use the developer tools of your browser to check if your styling gets overridden by other instructions (try “!important” to enforce yours).

The list on the Tag Groups page doesn’t load. I only see the wheel spinning forever

This usually means that somewhere your blog outputs a warning or alert that interferes with the data transfer to your browser. In most cases it is caused by another plugin.

Try the following:

  1. Deactivate all other plugins and see if that helps. If yes, re-activate them one by one (and keep checking the tag groups page) to identify the one that causes the message.
  2. Add to your wp-config.php file the following lines:
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );

    Then reload the tag groups page and afterwards check the content of the debug.log file in the wp-content folder if there is any error message.

In later versions you can also open the JavaScript Console in your browser and check the error or log messages for anything that gives a hint about the cause.


Wordpress - Edit Tags - multiple groupsDo you need more features or personal support?

Check out the premium plugin and see the comparison between the free and the premium version.


Show 8 footnotes

  1. In that case you may have to fix the file permissions for css and js files.
  2. Note: The more general word for “tag” in WordPress is “term”.
  3. because the standard WP query would connect them with the condition “AND”
  4. because it interferes with the category pull down menu
  5. Read more about shortcodes here.
  6. If you do so, it is recommended to create a child theme first. Otherwise your edits will be overwritten next time you update that theme.
  7. If you copy & paste code from this page, you will have to fix the quotes in your editor.
  8. What I call “Gray” is actually”Smoothness” in the jQuery UI gallery – for historical reasons.


  1. Hello Christoph,

    Thank you for this beautiful plugin contribution.

    Is the tag groups compatible with multisites?

    All the best
    Israel David

    • Hi Israel, I tried it on a multisite installation (latest WP, enabled per-site) and have not encountered any problems so far. I haven’t done any in-depth testing though, so it might be recommended to test on a non-public installation first. Please let me know if you run into problems.

  2. I would like a columned list of tags vs. the cloud…what is the best way to do this?

    • Are you familiar with using code?
      I would probably use a table and fill in the values retrieved from the array:

      EDIT: The code doesn’t display here in the comments, so I put it there

  3. Hi, help please… I cant change iQ style to “Tabs” as in example… I have even rewrite plugins/tag-groups/css .css files, but couldnot get resalt – no “Tabs”…

    • The styling is very specific for each website, it depends on themes and plugins that you use and the general problem that something doesn’t work could have many reasons. Before changing the files, you should switch to the standard WordPress theme (Twenty-…), deactivate other plugins and then try again.

  4. Is there a way from the dashboard to see what posts are in the individual tag groups? My client would like to be able to check that from the back end…maybe via a link in the group listing?

    • I think it would make most sense to have an additional filter above the list of posts. I will try to implement that in the next version.

    • Not on the “Posts” page, /wp-admin/edit.php ? Maybe disabled in settings, although should be enabled by default. Which taxonomy do you use?

    • Thanks! 🙂
      But I think that you were right, there was a small bug affecting some settings (wrongly used ‘post’ as taxonomy name. Hope to fix that with 0.9.1 (..without at the same time introducing new errors 😉 )

  5. Hello, I want to show a “table” of tags assigned to a post. (so that each POST have its one table tag-groud-cloud) But in the order of the tag-groups.

    I found something but this works only with the normal wordpress tag cloud, how do i combine these scripts?

    $tag_ids = wp_get_post_tags( $post->ID, array( ‘fields’ => ‘ids’ ) );

    // Check if there is any tag_ids, if print wp_tag_cloud
    if ( $tag_ids ) {

    wp_tag_cloud( array(
    ‘unit’ => ‘px’, // font sizing choice (pt, em, px, etc)
    ‘include’ => $tag_ids, // ID’s of tags to include, displays none except these
    ) );

    Please help!


    • Hello,
      I don’t see at the moment another option than retrieving the entire array ( with second parameter set to ‘true’) and then use only the tags that are also assigned to the particular post.
      I will check if I can include it in a future version when I have more time.

  6. Announcement: The latest version 0.10 offers the option to display a tag cloud that filters the tags according to the tags of particular posts and pages. That has been a frequent request.
    Also added a new link for donations: Money doesn’t go to me but to my favourite charity. 😉

  7. Hi, thanks for the plugin, I tried the plugin and works perfect. But I need to display also the tags in the post. For example, I have a group called TRADEMARK. When I write a new post, I add the tags, for example: cars, bmw, germany,
    Now, I assign bmw to trademark group.
    And now I want to display this in the post (if exist):


    This is possible with a shortcode of this nice plugin? I am very new with php 🙁

    Thank you.

    • It should be possible with a shortcode inside the post or by adding the code to the post template.

  8. Your latest version does not save the assigned category.
    I assign a tag to a group, that click “update” and it still says “not assigned”

    • I cannot confirm it, or I’m searching at the wrong place. So you set as Taxonomy “Categories”, on the Categories screen you edit directly in the table with “Quick Edit”, you select a Group and click “Update Category”, and the selected name of the group is not saved? Do you use any unusual characters in the group name?

      • I am finding the same issue. I just installed the latest (v 0.12) and created 2 Tag Groups. I started to edit my existing Post Tags and it does not save the change. I can edit a Tag, and the “Tag group” pulldown is available in the Tag editor, but when I select a Tag group and save the Tag, it remains “not assigned”.

        • Here’s some more information.

          The Tag Group assignment works on a Post Tag when creating the Tag. It does not work when editing an existing Tag.

          I checked for PHP errors and found that this occurs when saving the edited Tag:

          PHP Notice: Undefined variable: category in /wp-content/plugins/tag-groups/tag-groups.php on line 283

          Viewing the code, it appears that it initializes $category only when $_POST[‘tag-groups-taxonomy’] is available. Looking at the HTML src of the Edit Tag page, I don’t see that this is submitted (but it is submitted in the create tag form).

          It doesn’t look like wp_update_term will work without the 2nd ($category) argument.

          (Using WordPress 3.6.1).

          • Sorry, for the repeated posts.

            I just discovered “Quick Edit” DOES work, and looking at the code, I see that it includes the hidden ‘tag-groups-taxonomy’ field. Looks like the same just needs to be done for the for the full Tag edit page (set up in tg_tag_input_metabox I think).

  9. Thanks a lot, that was really helpful!

    I have fixed it and will just make some checks before uploading.

    The new version is 0.12.1

  10. Hi, I installed the tag cloud group and actived de tag cloud on widgets menu, but the tags just appear like a list of all tags, not groups and tags inside each group.

    I looked at settings and everything is default,

    • So you try the short code in a widget? Have you tried to enable “Enable shortcode in sidebar widgets” on the “Tag Cloud” tab in the settings?

  11. Hi Christoph, great plugin!
    Is there a way to assign tags to several groups?

    Tx a lot, Dirk

    • Hi Dirk,
      Apologies for the late reply. Better use the official support forum at WordPress.
      Each tag (or term) can only be assigned to one group. (Because the plugin is using the built-in term-group field.)

  12. Hello!

    How can I hide the numbers from the mouse. For example in your post; I am thinking, English – United Nations >>>> (4) <<<< this number (sorry for bad English)


  13. Hallo Christoph,

    erstmal ein großes Dankeschön für dieses tolle Plugin.
    Gibt es eine Möglichkeit die Anordnung der Tags als Liste untereinander darzustellen?
    Ich bin nicht so fit in Stylesheets….

    Danke schon mal:-)


    • Hallo Stefan,

      so ganz ohne Stylesheets wird es wohl nicht gehen. Wenn die Tabs oben erhalten bleiben sollen und nur die Tags untereinander stehen sollen, dann müsste im “head”-Abschnitt der Seite (in “style”-Tags eingeschlossen) .tag-groups-cloud-tabs a {display: block;} reichen (oder entsprechend im Shortcode mit div_id="irgendetwas" einen Bezeichner auswählen und dann statt .tag-groups-cloud-tabs eben #irgendetwas verwenden, falls nur eine bestimmte Tag-Cloud verändert werden soll). Ggf. lassen sich die Tabs mit den entsprechenden Shortcode-Parametern unterdrücken.

  14. Hi,
    I just install this plugin and I want to call a function that returns all tags of a particular group in my custom plugin.

    Any help?

    • Have you tried the function tag_groups_cloud (as described above)? You can pass the shortcode parameters as array. e.g. tag_groups_cloud( array( ‘include’ => 1) , true ) This should return an array.

  15. Hi there,
    Great plugin, congrats !
    Can you please help me ? I’d like to display on a page all my tags, classified into different groups
    One div with the tags from group A
    One div with the tags of group B
    But not into tabs
    Thxs in advance for ur help
    Cheers from France

  16. Hallo Chris

    Id like to use Your Display tags in columuns with the tag-groups Plugin in WP

    But how and where do i actually apply the PHP Code provided ?

    The how to is not documented an i am not an expert regarding php.

    Any help appreciated!


    • If you want to have columns with the name of the tag group on top of each column, then you have to use PHP. The code from the example goes into a template file.

      You could check here for more information about templates.

      Alternatively, you could probably also use a plugin that enables you to insert PHP. I found some on Google but I haven’t tried any of them.

  17. Moin Chris!

    Ich hab ein kleines Problem mit dem ansonsten sehr feinen Plugin. Nach der Umstellung auf php 5.5.33 krieg ich im oberen Bereich des Backends folgende Fehlermeldung:

    Warning: session_start(): open(/tmp/sess_11534edd6eb9d7dfe0b1f5e4f10046e2, O_RDWR) failed: Permission denied (13) in /wp-content/plugins/tag-groups/tag-groups.php on line 73
    Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at /wp-content/plugins/tag-groups/tag-groups.php:73) in /wp-content/plugins/tag-groups/tag-groups.php on line 73

    Hast du ne Idee, was genau ich anpassen muss?

    Allerbesten Dank im Voraus!

    • Moin und Entschuldigung für die Verspätung, ich habe erst jetzt deinen Kommentar entdeckt.

      Zur Frage: Siehe hier – ggf. müsste die Deaktivierung des Filters in den Settings helfen.

  18. Hello,

    Do you provide paid support and development services with regards to the “Tab Groups” plugin?

    I need support with regards to the plugin please. I would like to ask for your price offer.

    Thank you!

    • Sorry, noticed it very late. For these kind of inquiries the contact form works best. I don’t check the comments very often.

  19. Hello Chris!

    Instead of getting a group for id ( includes = > ‘ ‘ ) , I can take the group, but a name?
    Thank you very much and very good job


  20. Hello! I received this message in my website since I start to use this plugin. Could you help me? how can I solve this?
    Warning: session_start(): open(/var/lib/php-cgi/session/sess_ko4tn6gkmvvi9p2qlqiktf0gl1, O_RDWR) failed: No such file or directory (2) in /home/storage/3/40/60/saopauloparacriancas/public_html/wp-content/plugins/tag-groups/tag-groups.php on line 75

    Thank you!!!

    • Thank you for reporting!

      It could be that the “session.save_path” in your php.ini file (in the server settings) is wrong.

      I will check if I can suppress these warnings for problems like these.

  21. Hello,
    My Tag Groups will not allow me to add any new groups. I can type something in to the name box, but I cannot add it. Any insight would be helpful as this is not my area of expertise.

    • I replied to your message that you sent via the support system. Please check your emails.

Comments are closed.