About this plugin
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:
- Standard: <a href="[permalink wpid='123']">link text</a>
- Enclosing: [permalink wpid="123"]link text[/permalink]
(Note the single quotes used in the standard form example above. )
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>
Result:
>
com/hello-world/">link text</a>
Simple link (enclosing form):
>
[permalink wpid="123"]link text[/permalink]
Result:
>
">link text</a>
Linking to the Comments section of a post (standard form):
>
<a href="[permalink wpid='123']#comments">link text</a>
…or…
<a href="[permalink wpid='123' fragment='comments']">link text</a>
Result:
>
com/hello-world/#comments">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]
Result:
>
com/hello-world/" class="permalink-shortcode my-class" title="Some Other Page">link text</a>