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.

Hikari Internal Links


Don’t worry anymore of linking a post or a category, to later change its title or slug, or changing your posts permalinks, and creating invalid links to your own site pages.

Hikari Internal Links provides a shortcode that dynamically generates links to most WordPress resources. You can query these resources based on their ID or slug, and these links are generated dynamically. Therefore if you change a resource’s title or permalink, its links will be updated automatically.


  • A shortcode generates links to internal pages dynamically
  • If the permalink changes, links are updated automatically
  • You can get links based on resources ID or slug
  • If resource isn’t found, you get a warning text surrounded by class wpdberror, which is hidden from your visitors and shown to you with a yellow background so that it’s easy to notice and fix

Available Resources

  • posts, pages and custom types, based on ID or slug
  • comments, based on ID
  • categories, tags and custom taxonomies, based on ID or slug
  • feeds for categories, tags, comments of a post, based on their ID or slug
  • if current resource was already set to global variable, you can use ID 0 to link to current resource

This plugin is a fork from Michael Toppa‘s Post-to-Post Links II.


Where can I see a list of all shortcode parameters and exemples of it being used?

For a full description of its shortcode parameters, please refere to Hikari Internal Links Exemples.

What happens if I build a link based on slug and later change that resource’s slug?

Most resources can be queried by ID or slug, this feature is provided to offer flexibility on its use. When a resource is queried, the value used to query must refere to a existing resource. If you query using ID and change the resource ID, then there’s no way to find what it used to refere to… same thing goes for using slug and later changing the slug.

I suggest using ID always when possible and never change resources IDs, that’s not needed at all and could only be done editing directly the database.

Where’s the options page?

There’s none, currently I see no need to set options. Just use the shortcode anywhere you want 🙂



  • First public release.

Contributors & Developers

This is open source software. The following people have contributed to this plugin.


Browse the code