Permalink Shortcode

Provides a shortcode that allows you to insert permalinks into your content.

Author:Ryan Lange (profile at
WordPress version required:2.8
WordPress version tested:3.5.2
Plugin version:1.0.0
Added to WordPress repository:02-05-2013
Last updated:02-05-2013
Warning! This plugin has not 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.
Rating, %:80
Rated by:4
Plugin URI:
Total downloads:2 679
Active installs:100+
plugin download
Click to start download

Permalink Shortcode is a relatively simple plugin that implements a shortcode that you can use to link to existing posts and pages on your site. The shortcode also supports a number of HTML attributes (see below).

While WordPress does include a feature that allows you to link to existing content, this feature only inserts a “static” link. If you were to change the slug for that post or page, previously inserted links would no longer be valid.

The permalink shortcode can be used in two forms:

  1. Standard: <a href="[permalink wpid='123']">link text</a>
  2. Enclosing: [permalink wpid="123"]link text[/permalink]

(Note the single quotes used in the standard form example above. Using double quotes in this situation will not work.)

Supported Attributes

The following attributes are available in both the shortcode’s standard form and its enclosing form:

  • wpid: The ID number of the post or page to which you want a link.
  • query: The part of a URL that comes after the ‘?’ (e.g. “?foo=bar”). The ‘?’ is optional and will be added automatically if not included.
  • fragment: The part of the URL that comes after the ‘#’ (e.g. “#comments”). The ‘#’ is optional and will be added automatically if not included.

The following HTML attributes are available only in the shortcode’s enclosing form:

  • accesskey
  • charset
  • class
  • dir
  • hreflang
  • id
  • lang
  • media
  • rel
  • rev
  • style
  • target
  • title
  • type

Things to be aware of with some of the above attributes:

  • In the enclosing form, the CSS class name permalink-shortcode is always added to the class attribute, even if you don’t specify any class names yourself.
  • In the enclosing form, if no value is given for the title attribute, the post or page title will be used.

Usage Examples

Simple link (standard form):

<a href="[permalink wpid='123']">link text</a>


<a href="">link text</a>

Simple link (enclosing form):

[permalink wpid="123"]link text[/permalink]


<a href="" class="permalink-shortcode" title="Hello, world!">link text</a>

Linking to the Comments section of a post (standard form):

<a href="[permalink wpid='123']#comments">link text</a>


<a href="[permalink wpid='123' fragment='comments']">link text</a>


<a href="">link text</a>

Adding a custom CSS class and title (enclosing form):

[permalink wpid="123" class="my-class" title="Some Other Page"]link text[/permalink]


<a href="" class="permalink-shortcode my-class" title="Some Other Page">link text</a>