Contents
Tag Reference - Plugixa Permalink Manager
A tag is a name between percent signs in a permastructure. When an address is generated, each tag is replaced by a value taken from the item. This page lists them all.
The examples use a post called “Sleeping Bag Ratings Explained”, published on 18 March 2026 by Priya Nair in the category Guides, Camping.
Tags for posts, pages and custom post types
The item
| Tag | Replaced by | Example |
|---|---|---|
%postname% |
The item’s slug. For hierarchical types, the parents’ slugs too | sleeping-bag-ratings-explained |
%postname_flat% |
The item’s slug only, never the parents’ | sleeping-bag-ratings-explained |
%native_slug% |
The WordPress slug, parents included for hierarchical types, ignoring the slug setting | sleeping-bag-ratings-explained |
%native_title% |
A slug made from the title | sleeping-bag-ratings-explained |
%post_id% |
The ID | 23 |
%post_type% |
The post type’s name | post |
%author% |
The author’s slug | priya |
%parent_uri% |
The address of the parent item: its custom one, or its WordPress one if it has none | about for a child of the About page |
Date
| Tag | Example |
|---|---|
%year% |
2026 |
%monthnum% |
03 |
%monthname% |
march |
%day% |
18 |
%hour%, %minute%, %second% |
09, 30, 00 |
Taxonomies
Every taxonomy attached to the post type gets four tags. For categories they are:
| Tag | Replaced by | Example |
|---|---|---|
%category% |
The term’s full path, parents included | guides/camping |
%category_flat% |
The term’s own slug only | camping |
%category_top% |
The top-level ancestor only | guides |
%category_custom_uri% |
The category’s own custom address | journal/guides/camping |
The same set exists for tags (%post_tag%, %post_tag_flat%,
%post_tag_top%, %post_tag_custom_uri%) and for any custom taxonomy, using the taxonomy’s own name:
%product_cat%, %product_brand%, %product_tag% and so on.
When an item is in several terms, the primary one is used: the one chosen in Yoast SEO, Rank Math or SEOPress if one of them is active. Otherwise it is the term with the lowest ID, so the choice never flips between two. See SEO plugins.
Tags for categories, tags and custom taxonomies
| Tag | Replaced by | Example for Backpacking Tents under Tents |
|---|---|---|
%product_cat% (the taxonomy’s own name) |
The term’s full path, parents included | tents/backpacking-tents |
%term_name% |
The term’s slug, with parents for hierarchical taxonomies | tents/backpacking-tents |
%term_flat% |
The term’s own slug only | backpacking-tents |
%term_top% |
The top-level ancestor | tents |
%taxonomy% |
The taxonomy’s name | product_cat |
%term_id% |
The ID | 34 |
%native_slug% |
The WordPress slug, parents included | tents/backpacking-tents |
%native_title% |
A slug made from the name | backpacking-tents |
%parent_uri% |
The address of the parent term: its custom one, or its WordPress one | shop/tents |
Custom fields
| Tag | Replaced by |
|---|---|
%__field_name% |
The value of the custom field called field_name. Two underscores, then the field’s key |
For example %__region% inserts the value of the region field. With Advanced
Custom Fields PRO the tag understands choice fields and related
posts, terms and users. See
Advanced Custom Fields.
WooCommerce PRO
| Tag | Replaced by | Example |
|---|---|---|
%sku% |
The product’s SKU | tnt-sky-2 |
%pa_colour% and other %pa_...% tags |
The value of a product attribute. They work in the free plugin too; Pro lists them in the tag picker | green |
See WooCommerce.
What happens to an empty value
If a tag has nothing to insert, for instance %post_tag% on a post with no
tags, that part of the address is left out and no doubled slash is left behind.
Categories are the exception: a post with no category uses the site’s default
category.
Unknown tags
A tag that is not in the tag list is flagged as not recognised in the pattern’s
preview. Usually that is a spelling mistake. In version 1.0.0 the check is
stricter than the engine: a real custom-field tag such as %__region%, and the
_custom_uri tags, are flagged although they work. The With this pattern
column of the preview is the reliable answer.
Adding your own
Developers can register more tags and change what any tag resolves to. See Hooks.