This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Better Tag Cloud


I was pretty annoyed with the default tag cloud widget. It does a lot of things wrong, like inconsistent HTML markup and hardcoded font sizes. So I wanted to write my own. Digging through the code I found out that the wordpress wp_tag_cloud() function is pretty powerful. In fact, it could do almost everyhing I want. So I abandoned my plan to rewrite everything from scratch and added a nice admin interface to my tag cloud widget.

This plugin makes the options for wp_tag_cloud() available to multiple tag cloud widgets and shortcodes. This means that you can easily choose things like custom taxonomies, font sizes, HTML markup and ordering. See the wp_tag_cloud() page for what the normal settings can do.

Additionally, it is possible to sort tags by count and alphabetically at the same time. It is also possible to add a counter to the tags, so that your visitors can see how many posts are associated with each tag. The plugin also adds a sensible CSS class to every tag.


Visit the plugin’s home page to leave comments, ask questions, etc.

Other plugins I wrote



  1. Unzip
  2. Upload to your plugin directory
  3. Enable the plugin
  4. Add the widget in your dashboard’s Design section and configure it as you like.

The easiest way to use this plugin is to drag the new multiwidget into one of your sidebars.

Add a tag cloud inside a post or page

There is as well the shortcode [nktagcloud]. Examples:

  1. [nktagcloud] This displays the tag cloud as configured on the options page.
  2. [nktagcloud single=yes] This does the same but shows only the tags of the current post.
  3. [nktagcloud post_id=1234] Displays the tags of the post identified by post_id.
  4. [nktagcloud separator=”” categories=no] Remove separator and categories.

Using the tag cloud in your theme

You can call the function nktagcloud_shortcode() from your theme to get the same output as from the shortcode. Example:

    if ( function_exists( 'nktagcloud_shortcode' ) ) {
        echo nktagcloud_shortcode( null );


There’s also the nk_wp_tag_cloud() function. You can use it to generate a tag cloud with a different configuration than the plugin’s one. It accepts the same parameters as wp_tag_cloud(). Example:

    if ( function_exists( 'nk_wp_tag_cloud' ) ) {
        echo nk_wp_tag_cloud( 'single=yes&separator= - &categories=no' );


Additonal parameters (all strings):

  • single: Only tags of the current post (‘Yes’, ‘No’)
  • categories: Inlude categories in the cloud (‘Yes’, ‘No’)
  • replace: Convert blanks to non-breaking spaces (‘Yes’, ‘No’)
  • post_id: Display only tags of the specified post (post ID)
  • mincount: Show only tags that have been used at least so many times
  • separator: Tag separator
  • inject_count: Add a counter to the tag (‘Yes’, ‘No’)
  • inject_count_outside: Add the counter outside of the tag hyperlink (‘Yes’, ‘No’)
  • nofollow: Add the noffow attribute to the tags in the cloud (‘Yes’, ‘No’)


Q: How do I remove the link to the plugin homepage?
A: Please read the settings page, you can disable it there.


Great Plug in

This plug in is exactly what I needed. I had to put a lot of tags on my products that I didn’t want to see in the tag cloud, and this plugin allowed me to exclude them. It was east to use and works well with divi. My only issue is that changing the text size does not seem to work and all tags are the same size. Thanks to Nicolas Kuttler for developing this.

Read all 3 reviews

Contributors & Developers

“Better Tag Cloud” is open source software. The following people have contributed to this plugin.


“Better Tag Cloud” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Better Tag Cloud” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


0.99.5 ( 2010-12-10 )

  • Fix a few small bugs, update docs

0.99.4 ( 2010-11-12 )

  • Bugfix for custom taxonomies, thanks to all who reported this!

0.99.3 ( 2010-07-25 )

  • Minor bugfix
  • Update italian translation

0.99.2 ( 2010-07-14 )

  • Update docs

0.99 ( 2010-07-13 )

  • Support custom taxonomies (only for WordPress >= 3.0)
  • Add multi-widget support

0.11.2 ( 2010-05-24 )

  • Make it possible to hide the widget header markup when there is no header text.

0.11.1 ( 2010-05-18 )

  • Make it possible to hide the last separator as suggested by Scott.

0.11.0 ( 2010-05-17 )

  • Add the nofollow attribute as a configurable option.
  • Add dutch translation. ( 2010-05-13 )

  • Update the documentation. ( 2010-03-09 )

  • Rename function to avoid potential conflicts. ( 2010-02-01 )

  • Bugfix for minimum tag count, thanks to Muad for reporting this.

0.10.0 ( 2010-01-19 )

  • Modify the shortcode so that it can display a single post’s tags.
  • Use parameters for all function calls to make them more usable for theme developers.
  • Add the possibility to display the tags of a specific post outside the loop. This can be used in the sidebar for example. ( 2010-01-15 )

  • I ♡ the wordpress plugin versioning system through plugin.php readme.txt svn tag… I really need to script around that…

0.9.0 ( 2010-01-15 )

  • Fix for when WordPress is installed into a subdirectory. Thanks Martin!
  • Add belorusian translation sponsored by FatCow, thanks! Update various others.


  • Clean up counter and separator markup, thanks Carolin!

  • Really add the new CSS file, thanks Roman!
  • Update italian translation.


  • Add colored CSS style.


  • Add french translation by Lise, thank you!
  • Add a first FAQ entry.


  • Add danish translation by Georg S. Adamsen.
  • Make widget title translatable.


  • Bugfix for missing category links.


  • Hopefully fix all invalid HTML markup.


  • Add the option to put a separator string between tags.


  • Small fixes, optimizations and updates.


  • Add minimum count required to show a tag, thanks to Kaspars for the suggestion.
  • Add CSS class to every tag in the cloud: class=”nktagcloud-$tagsize”. $tagsize is something between the configured values for biggest and smallest font size.
  • Add icon by famfamfam to the Admin Drop Down Menu.
  • Move CSS files.

  • Fix version number


  • Fix bug for new installs where parts of the plugin options get deleted. Before, a plugin reset was necessary after the first install.


  • Bugfix, put shortcode in the right place on the page
  • Add admin styles + info
  • Update german translation
  • Add italian translation, thanks to Gianni!


  • Bugfix, thanks to cornel.

  • Fix invalid HTML in admin


  • I18N
  • Add german translation by Nicolas Kuttler
  • Sorry for releasing 0.8.0alpha-1, it was intended as a (pretty stable) development version.
  • Add a shortcode. It is possible to insert a tag cloud into any page or post.


  • Major rewrite
  • Made code more efficient
  • Better code documentation
  • Improved admin security


  • The categories can be included in the tag cloud.


  • Make it possible to have the tag count outside of the tag hyperlink. Requested by Maya.


  • Fix URL typo.
  • Fix bad upgrade bug that deletes settings.


  • Make font sizes text input fields for post decimal positions. This was suggested by Triton Bloom as well.
  • Admin CSS update.


  • Add include parameter as well.


  • Make the exclude parameter work.
  • Use new changelog format.
  • Fix some typos.


  • Rewrote the settings form and added an option to enable/disable tag link underlining.


  • Add post count feature. Thanks to Triton Bloom for the suggestion.
  • Add sorting by count and name at the same time feature.
  • Moved the configuration to a settings page.


  • Better description.


  • Add regexp for putting multi-word tags on one line, thanks to Augen for suggesting this.
  • CSS fix, doc and other minor minor updates.


  • Compatibility tests


  • Another bugfix.



  • Add default CSS style for the list format.


  • Doc updates, fix typo.


  • Release