{"id":224706,"date":"2025-03-31T12:17:32","date_gmt":"2025-03-31T12:17:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/watermark-manager\/"},"modified":"2026-03-12T19:00:22","modified_gmt":"2026-03-12T19:00:22","slug":"watermark-manager","status":"publish","type":"plugin","link":"https:\/\/azb.wordpress.org\/plugins\/watermark-manager\/","author":23127728,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.1.0","stable_tag":"3.1.0","tested":"6.7.5","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"Watermark Manager","header_author":"Laban The Great","header_description":"A comprehensive WordPress plugin for image with advanced features.","assets_banners_color":"959187","last_updated":"2026-03-12 19:00:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/labanthegreat.com\/plugins\/watermark-manager","header_author_uri":"https:\/\/labanthegreat.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":450,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.1.0":{"tag":"3.1.0","author":"labanthegreat","date":"2026-03-12 19:00:22"}},"upgrade_notice":{"3.1.0":"<p>Improved batch processing performance and memory usage. No breaking changes.<\/p>","3.0.0":"<p>Adds WP-CLI support, EXIF preservation, and import\/export. No breaking changes.<\/p>","2.0.0":"<p>Adds templates, image watermarks, tiling, and backup system. Settings are preserved on upgrade.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3481420,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3481420,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3481420,"resolution":"1544x500","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3481420,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3481420,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3481420,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3481420,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"General settings with watermark type, text\/image options, live preview, and import\/export","2":"Advanced settings with opacity, rotation, tiling, EXIF preservation, and automation options","3":"Template management with saved presets showing watermark previews","4":"Batch processing with date range filters, dimension filters, dry run, and error log"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[57677,133,19833,84,3241],"plugin_category":[50],"plugin_contributors":[240210],"plugin_business_model":[],"class_list":["post-224706","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-watermark","plugin_tags-image","plugin_tags-image-protection","plugin_tags-media","plugin_tags-watermark","plugin_category-media","plugin_contributors-labanthegreat","plugin_committers-labanthegreat"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/watermark-manager\/assets\/icon-128x128.png?rev=3481420","icon_2x":"https:\/\/ps.w.org\/watermark-manager\/assets\/icon-256x256.png?rev=3481420","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/watermark-manager\/assets\/screenshot-1.png?rev=3481420","caption":"General settings with watermark type, text\/image options, live preview, and import\/export"},{"src":"https:\/\/ps.w.org\/watermark-manager\/assets\/screenshot-2.png?rev=3481420","caption":"Advanced settings with opacity, rotation, tiling, EXIF preservation, and automation options"},{"src":"https:\/\/ps.w.org\/watermark-manager\/assets\/screenshot-3.png?rev=3481420","caption":"Template management with saved presets showing watermark previews"},{"src":"https:\/\/ps.w.org\/watermark-manager\/assets\/screenshot-4.png?rev=3481420","caption":"Batch processing with date range filters, dimension filters, dry run, and error log"}],"raw_content":"<!--section=description-->\n<p>Watermark Manager adds text or image watermarks to your WordPress media uploads. It supports single-image and batch operations, reusable templates, automatic backup of originals, and a full WP-CLI interface.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Text watermarks with configurable font size, colour, and opacity<\/li>\n<li>Image watermarks scaled relative to the target image<\/li>\n<li>Five position options: top-left, top-right, center, bottom-left, bottom-right<\/li>\n<li>Tiling mode to repeat the watermark across the entire image<\/li>\n<li>Rotation for both text and image watermarks<\/li>\n<li>Auto-apply watermarks on upload<\/li>\n<li>Batch processing with date range and dimension filtering<\/li>\n<li>Dry-run mode to preview batch operations before applying<\/li>\n<li>Reusable watermark templates (saved as a custom post type)<\/li>\n<li>Backup and restore of original images<\/li>\n<li>Daily cron cleanup of old backups with configurable retention<\/li>\n<li>Per-image watermark controls on the attachment edit screen<\/li>\n<li>Import and export settings as JSON<\/li>\n<li>Activity log tracking all watermark operations<\/li>\n<li>JPEG EXIF\/IPTC metadata preservation<\/li>\n<li>Optional WebP output conversion<\/li>\n<li>Minimum image size threshold to skip small images<\/li>\n<li>WP-CLI commands for all operations<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>PHP 8.0 or higher<\/li>\n<li>GD library with TrueType font support<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>watermark-manager<\/code> directory to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; Watermark Manager<\/strong> to configure.<\/li>\n<\/ol>\n\n<p>On activation the plugin creates three starter templates and a backup directory at <code>wp-content\/uploads\/wm-backups\/<\/code>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20image%20formats%20are%20supported%3F\"><h3>What image formats are supported?<\/h3><\/dt>\n<dd><p>JPEG, PNG, GIF, and WebP. You can optionally convert output to WebP regardless of the source format.<\/p><\/dd>\n<dt id=\"can%20i%20restore%20the%20original%20image%20after%20watermarking%3F\"><h3>Can I restore the original image after watermarking?<\/h3><\/dt>\n<dd><p>Yes. When backup is enabled, originals are saved before watermarking. Restore from the admin UI, attachment edit screen, or WP-CLI.<\/p><\/dd>\n<dt id=\"can%20i%20watermark%20existing%20images%3F\"><h3>Can I watermark existing images?<\/h3><\/dt>\n<dd><p>Yes. Use the batch processor in the admin UI or run <code>wp watermark batch<\/code> from the command line.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20wp-cli%3F\"><h3>Does it work with WP-CLI?<\/h3><\/dt>\n<dd><p>Yes. Commands include <code>wp watermark apply<\/code>, <code>wp watermark batch<\/code>, <code>wp watermark remove<\/code>, <code>wp watermark status<\/code>, and <code>wp watermark templates<\/code>.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens when I delete the plugin?<\/h3><\/dt>\n<dd><p>All plugin options, post meta, watermark templates, cron events, and the backup directory are removed on uninstall.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>Batch query refactoring for CLI and admin.<\/li>\n<li>Memory-safe batch processing with runtime cache flushing.<\/li>\n<li>Dimension filtering in batch operations.<\/li>\n<li>Capped error log and batch sizes.<\/li>\n<li>Centralized AJAX handler.<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>WP-CLI commands: apply, batch, remove, status, templates.<\/li>\n<li>EXIF\/IPTC metadata preservation for JPEG files.<\/li>\n<li>Batch dry-run mode, retry failed items, error log.<\/li>\n<li>Manual backup cleanup, paginated backup list.<\/li>\n<li>Import\/export settings.<\/li>\n<li>Email notification on batch completion.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Watermark template system (custom post type).<\/li>\n<li>Image watermark support (in addition to text).<\/li>\n<li>Tiling mode for both text and image watermarks.<\/li>\n<li>Image backup and restore system with daily cron cleanup.<\/li>\n<li>Activity log.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Text watermarks with position, opacity, and scale controls.<\/li>\n<li>Auto-apply on upload.<\/li>\n<li>Batch processing via admin UI.<\/li>\n<li>Per-attachment watermark controls on the edit screen.<\/li>\n<\/ul>","raw_excerpt":"Apply text or image watermarks to WordPress media uploads with batch processing, templates, and backup\/restore.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/224706","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=224706"}],"author":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/labanthegreat"}],"wp:attachment":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=224706"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=224706"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=224706"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=224706"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=224706"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=224706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}