Dynamic Tags are a concept originating from the Dynamic Templates feature. They serve as placeholders for content elements such as headings, words, entire text blocks, or even images. Instead of adding final content while editing a post, you insert placeholders. These placeholders — now called Dynamic Tags — are replaced during rendering with the appropriate content, depending on the context in which they appear.
Over time, Dynamic Tags have evolved. They now support various types and options and can be used flexibly across the entire website. Although tightly integrated with Dynamic Templates, they remain part of that feature and are available automatically when the Dynamic Templates feature is enabled. For more details, see the Dynamic Templates documentation.
Dynamic Tags also connect deeply with Post Types, allowing complex content relationships and contextual rendering. For example, you can reference custom fields or taxonomy terms from related content types — see the Post Types documentation for more details.
Dynamic Tags don’t have a separate page in the backend. Instead, they appear directly in the editor, adapting their behavior based on the block in use. The most common use cases are:
RichText Tags
In blocks with text inputs — such as Paragraphs, Headings, or Buttons — you can insert Dynamic Tags by clicking the Dynamic Tag icon in the block’s toolbar.

Clicking the icon opens a quick-select menu of available tags, if text has been added to the paragraph already. You can also type #
followed by a tag name to insert it inline. Once inserted, the tag appears with a light-purple background. Clicking on it reveals a popover where you can change the selected tag or adjust its formatting options.

Tip: Dynamic Tags in RichText fields can be formatted just like regular text. You can make them bold, italic, or apply any other style available in the editor.
Trigger Actions
Many blocks support Trigger actions, such as links or popups. If you select the “Dynamic link” trigger, a subset of Dynamic Tags is available — limited to those that represent URLs, files, or email addresses.

You can also configure whether the link should open in a new tab and add custom link text.
Dynamic Images
Several blocks, including Dynamic Image, Content Box, and Columns, support dynamic image sources. These use a component called DynamicImageControl
that allows selection of image-related tags.
When dynamic mode is activated, you can choose from available Dynamic Tags of type url
or file
.

For details about each block’s dynamic capabilities, see the documentation for Dynamic Image, Content Box, and Core Block Extensions → Columns.
Context of Dynamic Tags
The context of a Dynamic Tag determines which tag options are available and what values will be rendered. This context depends on where and what you are editing in the WordPress backend. Depending on the situation, a different set of tags will be accessible.
A basic set of Dynamic Tags is always available throughout the editor, no matter where you’re working. These include the site title, website subtitle, logo, site URL, a link to the homepage, the current date, commonly used symbols like arrows or copyright signs, and a tag for the number of posts of a selected post type.
When you’re editing a post or page of any public post type, the current post provides the tag context. WordPress itself offers core properties like post title, publication date, URL, post type, author, post views (if enabled via the Advanced Search feature), as well as links to the post or author. For posts and pages specifically, additional tags are available like post content, featured image, and a link to the thumbnail image. Blog posts offer even more, including the excerpt (shown as “description”), categories, tags, and links to the next or previous post.
If you’re editing a custom post type created with the Greyd Plugin, its defined settings and custom fields become available as tags too. The “Settings” area activates standard WordPress features (like author, excerpt, featured image), which determine tag availability. In addition, all custom fields you’ve added to the post type (except layout-only fields like separator or empty space) are exposed as Dynamic Tags.
Inside a Template block, if the “Display Post” option is used, the context switches to the selected post. Any Dynamic Tags used within the inner blocks of the Template then reflect that post’s data.
If you’re working inside a Query Loop — specifically within a “Post Template” or “Post Slider” block — the tag context is defined by the post type selected in the Query Loop block. As the loop renders each item, Dynamic Tags inside the inner blocks update accordingly based on the current post in the loop.
The context in the site editor behaves differently. Since this interface allows you to edit everything but individual posts, the tag availability shifts based on the type of content or template you’re editing. For regular pages, the tags are the same as those shown when editing a page via the standard post editor. In templates, things vary further: “Blog Home,” “Front Page,” “Index,” and “404” templates only show basic tags. “Single” templates provide all the tags from the post type they belong to. “Archive” templates add further tags like the archive title, category or tag, post count, pagination values, and links to next/previous pages. “Search Results” templates also expose tags for the search query and active filters. Patterns and Template Parts like headers or footers generally have access to the basic website tags and common post-related tags.
Formatting Options
RichText Tags can be further customized using various formatting options depending on their type. These formatting settings help control how Dynamic Tags are displayed in the frontend, ensuring consistent and purposeful presentation across the site.
Some tags, like Symbol, offer a predefined set of symbols to choose from. Available symbols include the copyright symbol and directional arrows (up, down, left, and right).
Tags that represent dates, such as Current date, Post date, or any tag of the type date
or datetime-local
, provide detailed formatting options. You can either use the default WordPress date format or define a custom format using PHP’s standard time format syntax.
For the Post content tag, a character count can be applied to limit the amount of content displayed. When this value is greater than zero, HTML tags are stripped and the content is trimmed accordingly. If the character limit is set to zero or a negative value, the full unfiltered content will be rendered. This can lead to layout issues in the frontend, so it’s recommended to use a character limit or opt for the “Content” block instead.
Text-based tags like Site title, tagline, Website URL, Post title, and Post URL offer a toggle to render the tag content as a link. Link styles include “Primary link,” “Secondary link,” and three button variations—“Primary,” “Secondary,” and “Alternate.” There’s also an option to open the link in a new tab.
Image-based tags like Website logo and Featured image allow you to define the display width using either percentages or pixels. These images can also be rendered as links, with the option to open them in a new tab.
The Author tag comes with a dropdown for selecting specific author properties such as public name, first name, last name, nickname, avatar, or biography. If the avatar is selected, a width option becomes available. As with other tags, the author tag can be linked and styled with available link types.
For taxonomy-based tags like Categories, Tags, or any custom or global taxonomy, you can control the separator used between terms. Options include commas, semicolons, dashes (horizontal or vertical), dots, spaces, or even line breaks. Each term can optionally be rendered as a link. Additionally, a description setting allows you to show the term’s description after the name, only the description, or hide it entirely.
The Number of posts tag, which displays the count of posts for a selected post type, allows you to choose whether all posts should be counted or only those matching specific terms.
Lastly, the Archive title tag includes an option to remove the archive type prefix (like “Year:” in “Year: 2022”), and the “Description” (excerpt) tag has a setting to preserve formatting and ignore the character limit entirely.
Extensions in other Greyd features
Dynamic Tags can be extended through other Greyd features to offer even more contextual data and integration capabilities. These extensions use internal filters to seamlessly inject additional functionality into the editing experience.
The User Management feature enhances Dynamic Tags by including user meta fields, allowing you to dynamically display user-specific data in your content. This is particularly useful when building personalized or membership-based websites. For details, refer to the User Management documentation.
The Global Dynamic Tags feature builds upon the Post Types functionality. It introduces global context from specific posts of a custom Post Type, making their data universally available as Dynamic Tags — no matter where you’re editing. This enables centralized content control across multiple templates or sections. More on this can be found in the Global Dynamic Tags documentation.
If the ACF Integration feature is enabled, Dynamic Tags gain the ability to include and display data from fields and post types created using the Advanced Custom Fields plugin. This offers a smooth integration with existing ACF setups. See the ACF Integration documentation for more information.
If WooCommerce is installed, additional Dynamic Tags become available that provide access to product data and shopping cart details. This ensures full compatibility with e-commerce setups.
To extend or customize the Dynamic Tags functionality in your own plugin or setup, refer to the developer documentation, where all relevant filters and implementation examples are described.