=== Themofy Dynamic Tags for Elementor ===
Contributors: themofy
Tags: elementor, dynamic tags, woocommerce, custom fields, acf
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Use dynamic tags in free Elementor. 51 tags for posts, site, users, custom fields (ACF) and WooCommerce products. No Elementor Pro needed.

== Description ==

Elementor's dynamic tags let a widget field pull its value from your site (the post title, the featured image, a custom field…) instead of typed-in text. The free version of Elementor includes the dynamic tags system but no tags. This plugin provides them.

Click the dynamic tags icon (the stacked-disks icon) next to any supported field — headings, text, buttons, links, images, galleries, colors, numbers — and pick a tag.

Works in the classic Elementor editor and in Elementor 4 atomic (V4) widgets.

**Post**
Post Title, Post Excerpt, Post URL, Post ID, Post Date, Post Time, Post Terms, Reading Time, Featured Image, Featured Image Data, Post Attached Images (gallery)

**Archive**
Archive Title, Archive Description, Archive URL

**Site**
Site Title, Site Tagline, Site URL, Site Logo, Page Title, Current Date Time, Request Parameter (URL parameter or query var), Shortcode

**Author**
Author Name, Author Info, Author URL, Author Profile Picture

**User** (the logged-in visitor)
User Info, User Profile Picture

**Comments**
Comments Number, Comments URL

**Custom Fields**
Custom Field (text, link, number or color), Custom Field Image, Custom Field Gallery. Read from the current post, the current archive term, the post author, the logged-in user or an ACF options page. Works with ACF, Meta Box, Pods or plain WordPress custom fields: enter the meta key or ACF field name.

**Links**
Contact URL (email, phone, SMS, WhatsApp, Telegram, Messenger, Viber, Skype, Google Maps, Waze), Internal URL (post, term, author or media file by ID), Login / Logout URL

**WooCommerce** (shown only when WooCommerce is active)
Product Title, Product Price (with sale & ranges, regular, sale or a plain number), Product Sale Badge (shown only while on sale, with an optional discount percentage), Product Short Description, Product SKU, Product Stock, Product Rating (average, counts or stars), Product Attribute (e.g. Color), Product Data (weight, dimensions, total sales, type), Product Image, Product Gallery, Product Category Image, Add To Cart URL, Store Page URL (shop, cart, checkout, my account, terms), Cart Info (item count, subtotal, total).

Every product tag works with the **current product** or a **product picked by ID** — handy for landing pages that feature one product.

Any tag can be switched off under **Settings → Themofy Dynamic Tags**.

Themofy Dynamic Tags is an independent plugin. It is not affiliated with or endorsed by Elementor Ltd. or WooCommerce.

== Installation ==

1. In your WordPress admin go to Plugins → Add New, search for "Themofy Dynamic Tags" and click Install Now. Or upload the plugin zip under Plugins → Add New → Upload Plugin.
2. Activate **Themofy Dynamic Tags for Elementor**. Elementor must be installed and active.
3. Edit a page with Elementor and click the dynamic tags icon next to a field.

== Frequently Asked Questions ==

= Do I need Elementor Pro? =

No. If Elementor Pro is active as well, both sets of tags are listed; you can switch off duplicates under Settings → Themofy Dynamic Tags.

= Why is a tag empty in the editor? =

The editor previews tags against the page you are editing. Archive tags only have a value on archive pages, User tags only for logged-in visitors, and Custom Field tags only when the field has a value on that page.

= Why can't the Custom Field tag show some keys? =

Keys that look like passwords, tokens, secrets, sessions or capabilities are always blocked so they cannot be printed on a public page. The "ACF Options Page" source only reads ACF options fields (`options_{field_name}`), never arbitrary site options. Developers can adjust the block list with the `themofy_dt_is_sensitive_meta_key` filter.

= Does the Cart Info count update when something is added to the cart? =

Yes. The tag loads WooCommerce's cart fragments script, which refreshes the count, subtotal and total after an AJAX add-to-cart and when a cached page is loaded.

= What does the Add To Cart URL do for variable products? =

Variable and grouped products need options chosen first, so the link goes to the product page instead. External products link to their external URL. Out-of-stock products link to the product page.

= My shortcode's form or iframe is stripped =

Shortcode output is limited to the HTML allowed in post content. Developers can allow more tags (such as `form`, `input` or `iframe`) with the `themofy_dt_shortcode_allowed_html` filter.

= How do I add my own tag? =

Create a class that extends `\Elementor\Core\DynamicTags\Tag` (text output) or `\Elementor\Core\DynamicTags\Data_Tag` (URLs, images, galleries) and add its class name through the `themofy_dt_tag_classes` filter. It is registered with the others and listed on the settings page. Use one of the plugin's groups, e.g. `\ThemofyDynamicTags\Plugin::GROUP_SITE`.

== Screenshots ==

1. Click the dynamic tags icon next to any field and pick from 51 tags, grouped by Post, Site, Author, User, Custom Fields, WooCommerce and more.
2. Each tag has its own options. Here a heading shows a product's live price, sale included, picked by product ID.
3. Switch off any tags you don't need under Settings → Themofy Dynamic Tags.

== Changelog ==

= 1.0.0 =
* Initial release.
