Title: Hum
Author: Will Norris
Published: <strong>ޖެނުއަރީ 27, 2011</strong>
Last modified: ޑިސެމްބަރ 7, 2025

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/hum.svg)

# Hum

 By [Will Norris](https://profiles.wordpress.org/willnorris/)

[Download](https://downloads.wordpress.org/plugin/hum.1.3.6.zip)

 * [Details](https://dv.wordpress.org/plugins/hum/#description)
 * [Reviews](https://dv.wordpress.org/plugins/hum/#reviews)
 *  [Installation](https://dv.wordpress.org/plugins/hum/#installation)
 * [Development](https://dv.wordpress.org/plugins/hum/#developers)

 [Support](https://wordpress.org/support/plugin/hum/)

## Description

Hum is a personal URL shortener for WordPress, designed to provide short URLs to
your personal content, both hosted on WordPress and elsewhere. For example, rather
than a long URL for a WordPress post such as [http://willnorris.com/2011/01/hum-personal-url-shortener-wordpress](http://willnorris.com/2011/01/hum-personal-url-shortener-wordpress),
you could have a short URL like [http://willnorris.com/b/FJ](http://willnorris.com/b/FJ).
Additionally, if you have a custom domain for short URLs, you can shorten things
further like [http://wjn.me/b/FJ](http://wjn.me/b/FJ). Once the plugin is enabled,
the shortlink for a page or post can be found in the “Shortlink” item in the WordPress
Admin Bar.

WordPress post IDs are shortened using the [NewBase60](http://ttk.me/w/NewBase60)
encoding scheme which is specifically optimized for brevity and readability, with
built-in error correction for commonly confused characters like ‘1’, ‘l’, and ‘I’.

Hum is not designed as a general purpose URL shortener along the lines of [http://bit.ly](http://bit.ly)
or [http://goo.gl](http://goo.gl). Rather, it is specifically intended as a personal
shortener for your own content.

Read more about the reasoning for a personal URL shortener at [Tantek Celik](http://tantek.com/)‘
s page for [Whistle](http://ttk.me/w/Whistle), which served as the inspiration for
Hum.

### Developer Documentation

### Adding your Amazon Affiliate ID

If you’d like to include your Amazone Affiliate ID in the `/i/` redirect URLs, implement
the `amazon_affiliate_id` filter. For example:

    ```
    add_filter('amazon_affiliate_id', fn() => "willnorris-20");
    ```

### Additional Local Types

Out of the box, Hum only registers the `b`, `t`, `a` and `p` prefix to be served
locally by WordPress. If you would like to register additional prefixes, implement
the `hum_local_types` filter. For example, to include ‘p’ as well for photos:

    ```
    function myplugin_hum_local_types( $types ) {
      $types[] = 'p';
      return $types;
    }
    add_filter('hum_local_types', 'myplugin_hum_local_types');
    ```

This will tell Hum to serve any `/p/{id}` URLs from WordPress. Additionally, you’ll
want to instruct Hum to use your prefix for that particular content type. Here, 
we’re registering ‘p’ which is normally used for photos.

    ```
    function myplugin_hum_type_prefix( $prefix, $post_id ) {
      $post = get_post( $post_id );

      if ( $post->post_type ## 'attachment' &&
           strpos($post->post_mime_type, 'image') =## 0 ) {
        $prefix = 'p';
      }

      return $prefix;
    }
    add_filter('hum_type_prefix', 'myplugin_hum_type_prefix', 10, 2);
    ```

### Simple Redirect

You can redirect all traffic for a prefix using a single line of PHP my implementing
the `hum_redirect_base_{type}` filter where `{type}` is the prefix to redirect. 
For example, I redirect all `/w/` URLs to wiki.willnorris.com using:

    ```
    add_filter('hum_redirect_base_w', fn() => "http://wiki.willnorris.com/");
    ```

## Installation

Follow the normal instructions for [installing WordPress plugins](https://codex.wordpress.org/Managing_Plugins#Installing_Plugins).

### Using a custom domain

If you have a custom domain you’d like to use with Hum, add it as the ‘Shortlink
Base (URL)’ on the ‘General Settings’ WordPress admin page or define the `HUM_SHORTLINK_BASE`
constant in your `wp-config.php`:

    ```
    define('HUM_SHORTLINK_BASE', 'http://wjn.me');
    ```

You will also need to setup your short domain to redirect to your normal domain.
Many domain registrars provide free redirection services that work well for this,
so you don’t need to setup a new domain with your web host. Just make sure that 
you are **not** using an iframe style redirect.

## FAQ

### What types of content does Hum support?

Out of the box, Hum will provide shortlinks for any content locally hosted on WordPress.
Most shortlinks will use the `b` type prefix, with the exception of posts with a‘
status’ [post format](https://codex.wordpress.org/Post_Formats), which have shortlinks
using the `t` type prefix. For example:

 * [http://wjn.me/b/FJ](http://wjn.me/b/FJ)
 * [http://wjn.me/t/FR](http://wjn.me/t/FR)

Additionally, the `i` type prefix, along with one of four subtypes, is supported
as follows:

 * `asin` or `a` for Amazon ASIN numbers
 * `isbn` or `i` for ISBN numbers

All `i` URLs are redirected to Amazon.com. For example:

 * [http://wjn.me/i/a/B003QP4NPE](http://wjn.me/i/a/B003QP4NPE)

Additional type prefixes can be registered to serve WordPress hosted content or 
to redirect to an external service. See more in the developer documentation.

### Redirects are not working and result in a 404.

This can happen if the rewrite rules were not flushed. This most likely happens 
if you are using Hum on a Multisite. This can be fixed by flushing the rewrite rules,
just go to Settings->Permalinks and hit `Save Changes` on each instance where Hum
does not work as intended.

## Reviews

![](https://secure.gravatar.com/avatar/2cc5e11ed02595d733664ce9536033395d3c79625159868a225998212719da5c?
s=60&d=retro&r=g)

### 󠀁[great plugin, great support](https://wordpress.org/support/topic/great-plugin-great-support-1896/)󠁿

 [airplanenoise](https://profiles.wordpress.org/airplanenoise/) ޖުލައި 15, 2024 
1 reply

responsive developer, helpful and listening. plugin works. great little add on for
branding.

![](https://secure.gravatar.com/avatar/4902e2e355b79d625c24b9b70dc3db777a8c64254fb00fc280b90593ea805b53?
s=60&d=retro&r=g)

### 󠀁[Nice shorter](https://wordpress.org/support/topic/nice-shorter/)󠁿

 [ferrie=differentieel](https://profiles.wordpress.org/researcher/) ފެބްރުއަރީ 9,
2024

Nice slick URL shorter – well done – and thank you for developing this one

![](https://secure.gravatar.com/avatar/b386c3be63ad40515532f06f0a3f8fc3c5a9c760da75708f03eff64f35cd66d4?
s=60&d=retro&r=g)

### 󠀁[Works perfectly](https://wordpress.org/support/topic/works-perfectly-2128/)󠁿

 [shawfactor](https://profiles.wordpress.org/shawfactor/) ނޮވެމްބަރ 13, 2020

Fantastic pluginthat works perfectly and is actively developed.

![](https://secure.gravatar.com/avatar/dc102eb3aa545e3aec7ab9b6f96c79948143517561214a4c9b75cb93ecc236d6?
s=60&d=retro&r=g)

### 󠀁[Mükemmel 🙏](https://wordpress.org/support/topic/mukemmel-%f0%9f%99%8f/)󠁿

 [Genc Medya](https://profiles.wordpress.org/gnckampus/) އޯގަސްޓް 2, 2020

Tek dosya ile işi çözmüş, bu mükemmel bir eklenti olmuş, bir sürü ücretli eklentiyi
denedim bunun yaptığını yapmıyor. teşekkür ederim Tantek Çelik 🙏 ve plugin yapımcısı
arkadaş 🙏

![](https://secure.gravatar.com/avatar/b25f5d8b3bb8ed7f1f1e5e47d33c6b947e630ae718512d9ec304c533073ff1b7?
s=60&d=retro&r=g)

### 󠀁[Perfect!](https://wordpress.org/support/topic/perfect-6733/)󠁿

 [hostbizro](https://profiles.wordpress.org/hostbizro/) ޑިސެމްބަރ 30, 2019

Perfect!

![](https://secure.gravatar.com/avatar/00c65a039ec11504e8950c7e0812d7090fff8e3052d4e40e86f14e90b37a22a4?
s=60&d=retro&r=g)

### 󠀁[Works with 5.3](https://wordpress.org/support/topic/works-with-5-3/)󠁿

 [Robert](https://profiles.wordpress.org/metbril/) ނޮވެމްބަރ 17, 2019 1 reply

Tested plugin with WP 5.3. Still working just fine.

 [ Read all 8 reviews ](https://wordpress.org/support/plugin/hum/reviews/)

## Contributors & Developers

“Hum” is open source software. The following people have contributed to this plugin.

Contributors

 *   [ Will Norris ](https://profiles.wordpress.org/willnorris/)
 *   [ Matthias Pfefferle ](https://profiles.wordpress.org/pfefferle/)

“Hum” has been translated into 3 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/hum/contributors)
for their contributions.

[Translate “Hum” into your language.](https://translate.wordpress.org/projects/wp-plugins/hum)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/hum/), check out the
[SVN repository](https://plugins.svn.wordpress.org/hum/), or subscribe to the [development log](https://plugins.trac.wordpress.org/log/hum/)
by [RSS](https://plugins.trac.wordpress.org/log/hum/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

Project maintined on github at [willnorris/wordpress-hum](https://github.com/willnorris/wordpress-hum).

### 1.3.6

 * optimized Block Editor integration

### 1.3.5

 * update JS dependencies and code

### 1.3.4

 * fix broken `wp_get_shortlink` hook, when loaded in the frontend

### 1.3.3

 * fix PHP warning in combination with widgets

### 1.3.2

 * update documentation

### 1.3.1

 * change the priority of the rewrite rules action

### 1.3.0

 * redirect types are now also filterable

### 1.2.8

 * add shortlink panel to block editor (props [@florianbrinkmann](https://profiles.wordpress.org/florianbrinkmann/))

### 1.2.7

 * redirect only known types (see [#wp180868](https://wordpress.org/support/topic/causing-404-on-category-tag-pages/))

[full changelog](https://github.com/willnorris/wordpress-hum/compare/1.2.6...1.2.7)

### 1.2.6

 * fix PHP 7.4 deprecation warning
 * WordPress coding style changes

[full changelog](https://github.com/willnorris/wordpress-hum/compare/1.2.5...1.2.6)

### 1.2.5

 * add shortlink to post/page overview pages

[full changelog](https://github.com/willnorris/wordpress-hum/compare/1.2.4...1.2.5)

### 1.2.4

 * finally fixed “flush rewrite rules”

[full changelog](https://github.com/willnorris/wordpress-hum/compare/1.2.3...1.2.4)

### 1.2.3

 * fixed “flush rewrite rules”

[full changelog](https://github.com/willnorris/wordpress-hum/compare/1.2.2...1.2.3)

### 1.2.2

 * version bump

[full changelog](https://github.com/willnorris/wordpress-hum/compare/1.2.1...1.2.2)

### 1.2.1

 * add `amazon_domain` filter, to support different countries
 * add `hum_process_redirect` action, to overwrite default rewrite method (see [#17](https://github.com/willnorris/wordpress-hum/pull/17))

[full changelog](https://github.com/willnorris/wordpress-hum/compare/1.2...1.2.1)

### 1.2

 * move link post format to use ‘t’ prefix instead of ‘h’ and add support for
    image
   post format
 * add support for WordPress media attachments
 * add shortlinks to Atom feeds
 * add support for legacy short url schemes (see [#6](https://github.com/willnorris/wordpress-hum/issues/6))
 * switch to using WordPress filters instead of actions for hum extensions (see
   
   [#3](https://github.com/willnorris/wordpress-hum/issues/3))

[full changelog](https://github.com/willnorris/wordpress-hum/compare/1.1...1.2)

### 1.1

 * allow custom domain to be configured using `HUM_SHORTLINK_BASE` constant or
    
   via the General Settings admin page.
 * strip some punctuation at the end of URLs (see [#4](https://github.com/willnorris/wordpress-hum/issues/4))
 * smarter URL matching (see [#1](https://github.com/willnorris/wordpress-hum/issues/1)
   and [#2](https://github.com/willnorris/wordpress-hum/issues/2))
 * add support for `/i/` URLs (redirects to Amazon for ASIN or ISBN
    identifiers,
   optionally including an Amazon affiliate ID)
 * standard 404 handling if hum can’t find a proper redirect
 * add new `hum_local_types` filter for registering other prefixes thatt are
    served
   locally by WordPress
 * reduce extra redirect for local content

[full changelog](https://github.com/willnorris/wordpress-hum/compare/1.0...1.1)

### 1.0

 * initial public release

## Community plugin

This plugin is developed and supported by a community. [Contribute to this plugin](https://github.com/pfefferle/wordpress-hum)

## Meta

 *  Version **1.3.6**
 *  Last updated **4 months ago**
 *  Active installations **600+**
 *  WordPress version ** 3.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 5.6 or higher **
 *  Languages
 * [Dutch](https://nl.wordpress.org/plugins/hum/), [English (US)](https://wordpress.org/plugins/hum/),
   [German](https://de.wordpress.org/plugins/hum/), and [Swedish](https://sv.wordpress.org/plugins/hum/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/hum)
 * Tags
 * [diso](https://dv.wordpress.org/plugins/tags/diso/)[shortlink](https://dv.wordpress.org/plugins/tags/shortlink/)
 *  [Advanced View](https://dv.wordpress.org/plugins/hum/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  8 5-star reviews     ](https://wordpress.org/support/plugin/hum/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/hum/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/hum/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/hum/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/hum/reviews/?filter=1)

[Add my review](https://wordpress.org/support/plugin/hum/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/hum/reviews/)

## Contributors

 *   [ Will Norris ](https://profiles.wordpress.org/willnorris/)
 *   [ Matthias Pfefferle ](https://profiles.wordpress.org/pfefferle/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/hum/)