Pro features overview
Ultimate Watermark Pro is a single plugin that adds about a half-dozen modules to the free core. Activating Pro unlocks every module — there's no per-feature toggle on the website. Modules expose their settings inside the watermark template builder (a new Display tab) and on the Settings page (a new Advanced (Pro) tab).
Templates
Unlimited templates
Free is limited to one active watermark template (WatermarkAjaxHandler.php:608–620). Pro removes the limit — make as many as you need:
- A copyright text watermark for blog posts.
- A logo watermark for product photos.
- A "DRAFT" diagonal stamp for work-in-progress uploads.
- Different watermarks per WooCommerce product category.
All run on every upload; conditional rules decide which ones actually apply.
Dynamic content
Dynamic placeholders
Embed {{placeholder}} tokens inside text watermarks. Pro replaces them at render time:
| Placeholder | Replaces with |
|---|---|
{{date}} | Current date in WP date format. |
{{time}} | Current time. |
{{year}} | Current year. |
{{user}} | Logged-in viewer's display name (or empty for guests). |
{{user_login}} | Logged-in viewer's username. |
{{ip}} | Visitor's IP address (deters re-publishing). |
{{copyright}} | © plus year and site name (see plugin output). |
{{post_title}} | Title of the post the image is attached to. |
{{site_name}} | Site title from Settings → General. |
{{site_url}} | home_url(). |
Use cases:
- A "© 2026 Studio Name — viewed by John on 12 Mar 2026" diagonal stamp deters image reposting.
- A "Draft for {{post_title}}" stamp on staging uploads.
Resolved via ProPlugin::processDynamicContent (ProPlugin.php:160–194) and DynamicContentManager::parseTemplate.
Custom placeholders
Register your own with the ultimate_watermark_pro_register_dynamic_types action and ultimate_watermark_pro_resolve_placeholder filter. See Hooks & filters → Dynamic content.
Frontend display
On-the-fly (OTF) rendering
The flagship Pro feature. Instead of burning the watermark into the file on disk, Pro renders it at request time and serves the result.
Why this matters:
- Originals stay clean — the file on disk is never modified. Useful for stock photographers who need pristine masters.
- Edit-and-go — change the watermark template, hit Save, the next visitor sees the new version. No bulk re-process.
- Cached output — the rendered watermarked image is cached at
uploads/ultimate-watermark-frontend-cache/. Subsequent visitors hit the cache. (FrontendWatermarkManager.php:407–418)
Set up: edit the watermark → Display tab → toggle on. See Settings → Display tab for every option.
Role-based bypass
Pro lets you bypass the watermark for specific roles — useful for editors who need to copy images out without watermarks. Default bypass: Administrator.
Conditional rules
Advanced rule types
Pro adds 9+ new rule types beyond the free post-type / image-size:
- File type (MIME).
- Image width / height.
- File size.
- Image orientation.
- Image aspect ratio.
- Date range.
- Post category.
- WooCommerce product_cat / product_tag (when WC is active).
See Conditional rules for setup and recipes.
E-commerce
WooCommerce integration
The EcommerceManager module (EcommerceManager.php) hooks into WooCommerce:
- Product images are watermarked on upload.
- Product gallery images are watermarked.
- A bulk action in WooCommerce → Products lets you re-apply / remove watermark for selected products.
- The OTF Display tab has a dedicated Apply to WooCommerce toggle.
- Conditional rules can match
product_catandproduct_tag. - Bulk batches process at 5 products per pass (
EcommerceManager.php:335–339) to fit shared-host limits.
Settings live under Watermark → Settings → Advanced (Pro) (ProAdminManager.php:1471–1489).
Performance
Background batch processing
For libraries with thousands of images, Pro queues work via wp_schedule_single_event and processes in chunks of 10 (BatchManager.php:76–78,110–112). The admin shows a progress UI; you can leave the page and it keeps running.
See Performance → Background batch.
License & updates
License manager
Activate / deactivate / check status against https://store.mantrabrain.com/edd-sl-api/? (item_id 36499 — License.php:31). Pro updates show up in Plugins → Installed Plugins when license is active. Daily license check runs in the background.
Activation: Watermark → License (ProAdminManager.php:75–81).
Plan tiers
Ultimate Watermark Pro is sold as a single tier — every active license unlocks every Pro module above. Pricing options differ on license seats and renewal terms.
EDD's
price_id=1is the visible price ID in code (WatermarkActionsHandler.php:75). For current seats and renewal terms, see the pricing page.
Where to go next
- 📋 All Pro features — flat catalog.
- 🎯 Conditional rules — advanced rule recipes.
- ⚡ Performance & caching — OTF cache and batch processing.
- 🪝 Hooks & filters — extend Pro behaviour.