Smart Hashtags [#hashtagger]


The Smart Hashtags (formerly hashtagger) Plugin allows you to use #hashtags, @usernames and $cashtags in your posts

This plugin uses the WordPress Tag system to automatically convert a #hashtag into a Post Tag. Each #hashtag is added as a «normal» tag (without leading hash) to the post, so it is fully compatible with existing tags!


Just type anywhere in a post

This adds «hashtag» as tag to the current post and on links to tag archive page for «hashtag» when showing the post.

Use +#hashtag to only link to a tag archive page without adding «hashtag» as tag to the post. When showing the post the link is showed as «#hashtag» (without «+»). If the tag does not exist the text remains unchanged and no link is created.

Use duplicate ##hashes to tell the plugin that this word should not be converted into a tag. Duplicate hashes are replaced by a single hash when showing the post.

This creates a link either to the Profile Page or the Website of User «username». The usage of @usernames can be activated optionally. If the username does not exist the text remains unchanged and no link is created. It is highly recommended to use @nicknames instead of @usernames to enhance security (read more).

Use @@username to avoid link creation. When showing the post this is displayed as «@username» without link (@username feature has to be activated).

This creates a link to the concerning stock symbol at MarketWatch, Google Finance, Yahoo Finance or StockTwits. The usage of $cashtags can be activated optionally. $cashtags link to the concerning stock symbol at MarketWatch, Google Finance or Yahoo Finance. Notice: stock symbols can not be validated, using a invalid stock symbol will cause an not found error on the target site.

Use $$cashtag to avoid link creation. When showing the post this is displayed as «$cashtag» without link ($cashtag feature has to be activated).

WordPress Security

If you activate the @username feature it is highly recommended to use @nickname instead of @username (read more)!

Post Types and Section Types

It is possible to use #hashtags, @usernames and $cashtags on Posts, on Pages and on Custom Post Types within Content, Title and Excerpt. Activate only the Post Types and Section Types you want to be processed to avoid unnecessary processing for best performance.

Formatting links

Additional CSS Class(es) to add to the #hashtag and @username links can be configured on the plugins setting page.

Display of links in front end

Optionally all symbols (#, @, $) can be removed from the links generated in front end.

Display of Tags in front end

There’s an option to automatically add a hash symbol in front of tags (e.g. when using the Tag Cloud Widget).

Docs & Support

Plugin Manual

Support Forum

Video: How to use hashtags in WordPress (Note: The video is outdated! A new version will be created as soon as possible.)

Do you like this plugin?

I spend some of my precious free time developing and maintaining my free WordPress plugins. You don’t need to make a donation. No money, no beer, no coffee. If you like this plugin then please do me a favor and give it a good rating. Thanks.

Plugin Privacy Information

  • This plugin does not set cookies
  • This plugin does not collect or store any data
  • This plugin does not send any data to external servers

Peters’ Plugins Privacy Information Page


This plugin is compatible with ClassicPress.

More plugins from Peter

Take a look at my other plugins

For developers

Use do_hashtagger( $content ) in your theme files to process #hashtags and @usernames in $content.


  • General Settings: This section shows the current Tag base setting
  • Tags Settings: Options to allow hashtags starting with numbers and disable link creation
  • Usernames Settings: Handling of @usernames respectively @nicknames can be changed here
  • Cashtags Settings: Handling of $cashtags can be changed here
  • Advanced Settings: Options to not delete tags that are not found in content and to process only pages containing a single post
  • Post Types Settings: Define which Post Types should be processed
  • Section Types Settings: Define which Section Types should be processed
  • CSS Style Settings: Add CSS Classes to use for the generated links in Front End
  • Display Settings: Options to not display symbols in front of generated links in Front End and to automatically add hash symbols to all Tags in Front End
  • Regeneration of all existing Objects with the current settings


What characters can a hashtag include?

The hashtag detection follows the rules for hashtags used on Twitter, Instagram, YouTube, Pinterest and so on. The minimum length for a hashtag is 2 characters. A hashtag must not start with a number (this can be changed optionally). A hashtag not only ends at a space but also at punctuation marks and other special characters. A hashtag may contain underscores.

Does this also work for pages?

Yes and No. Yes – the plugin can add the tags also for pages. No – WordPress does not show the tags section for pages and also pages are not listed on tag archives.

This plugin does not change this behavior of WordPress because there already exist several plugins that add the tag functionality for pages. Please use one of them if you want to tag your pages.

How to change the Tag base?

The Tag base for the Tag Archive Page URL (e.g. can be set on the ‘Permalink Settings’ page under ‘Tag base’ in your WP admin.

Where does @username link to?

This can be set on hashtagger Settings Page. @username links can either link to the Users Profile Page or to the Users Webiste (Users Profile Page if no Webpage is set). When linking to Users Website the link can be opened in a new window if desired.

Why should I use @nicknames instead of @usernames

This is important to enhance WordPress security. Please take a look at the Manual.

Can I use #hashtags and/or @usernames in Excerpts?

Yes, just activate this feature.

Can I use #hashtags and/or @usernames in Titles?

Yes, just activate this feature.

Can I regenerate all existing Posts after changing Settings?

Yes, you can regenerate all affected objects (Post, Pages, Custom Posts) using the current settings.

Where can I get help?

Please use the Support Forum.


18 de marzo de 2023 1 reply
This is a plugin that I've used before and am using now as well. It works out of the box very well. However, this time, when I installed it, the nag screens asking to follow the creator on twitter turned up everywhere on the admin screen even before I had a chance to use the plugin. If the creator were to change the plugin so that the nag is less intrusive, I'll consider changing my review as well as increasing the rating to 5 stars
26 de abril de 2022 1 reply
Needs to keep up with PHP/Wordpress changes, and might be some other functionality with other things like the @ symbol, maybe to factor in some semantics (e.g. when a hashtag is a location, or an emotion, etc.), maybe colourings but really, there's not anything I can think of to complain about. Just so much potential and in itself, great as it is 🙂 Brilliant piece of work!
17 de marzo de 2022 1 reply
This plugin functions perfectly as described, with a lot of intuitive settings and options (with clear descriptions). This only tags single words, no spaces, similar to how social hashtags work. I give it five stars.
11 de febrero de 2022 1 reply
I did'nd had trouble with this plug in from the first day on.
Leer todas las 37 reseñas

Colaboradores y desarrolladores

«Smart Hashtags [#hashtagger]» es un software de código abierto. Las siguientes personas han colaborado con este plugin.


«Smart Hashtags [#hashtagger]» ha sido traducido a 1 idioma local. Gracias a los traductores por sus contribuciones.

Traduce «Smart Hashtags [#hashtagger]» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

7.2.1 (2022-10-23)

  • bugfix regarding default settings
  • bugfix to avoid multiple hash symbols
  • Settings interface adapted to my other plugins

7.2 (2019-04-07)

  • bug fix for version 7.0 and 7.1

7.1 (2019-04-04)

  • Ignore Blocks added

7 (2019-04-03)

  • Ignore List added
  • security vulnerability in AJAX call fixed

6 (2019-03-09)

  • make use of $wp_rewrite->get_extra_permastruct() to show current tag base URL
  • UI improvements
  • code improvement

5 (2018-08-03)

  • StockTwits added as link target for $cashtags
  • further UI-improvements

4 (2018-05-08)

  • option to only process singular posts added
  • many code optimizations
  • minor UI-improvements

3.8 (2017-11-16)

  • faulty display in WP 4.9 fixed

3.7 (2017-09-13)

  • Option to automatically add hash symbol in front of tags

3.6 (2017-07-11)

  • Redesigned admin interface
  • Code improvement

3.5 (2016-09-13)

  • Option to only create tags from #hashtags, but do not show links
  • Bug fix Tag Regeneration

3.4 (2016-08-18)

  • Enhanced Polylang support to allow same hashtag in several languages
  • Option to allow hashtags starting with numbers

3.3 (2015-12-22)

  • Uage of cashtags to link to stock symbols
  • Optionally remove symbols in front of generated links in front end

3.2 (2015-05-28)

3.1 (2015-02-05)

  • Spanish translation added (thanks to Andrew for translating)
  • Cosmetics

3.0 (2014-12-21)

  • Completely rewritten with a lot of new Settings and a feature to regenerate existing objects

2.1 (2014-10-10)

  • Optionally use @nicknames instead of @usernames (thanks to joeymalek for pointing out)
  • Added do_hashtagger() Theme Function (thanks to joinfof for the idea)

2.0 (2014-09-17)

  • Optional usage of @usernames
  • Syntax +#hashtag to create link only without adding tag

1.3 (2014-08-15)

1.2 (2014-08-05)

  • hashtags can contain non ASCII characters
  • hashtags must not start with a number
  • hashtags can start after punctuation marks without whitespace
  • hashtags end at punctuation marks

1.1 (2014-07-31)

  • Option to specify css class added
  • German translation added

1.0 (2014-07-09)

  • Initial Release