I am not sure about complete scope of your requirements, but I would probably:
- Register special image size(s) that would be used instead of original.
- Tie watermarking to generation of that size.
This way there is no need for dynamic image processing. As for your concern about older images having no watermark – you will be able to (re)generate sizes for them using one of the plugins floating around (that is quite common operation).
Related Posts:
- A tool to analyze rewrite rules? [closed]
- Making a plugin file accessible via url rewrite?
- How to Rewrite WordPress URL for a Plugin
- Custom Rewriting to Plugin with Parameters
- Filter to change the content of 404 page
- Add rewrite rule in plugin: with .htaccess in plugin folder or using WordPress functions
- Removing rules from .htaccess
- Mapping multiple URLs to same page
- Rewrite Point Doesn’t Work on Custom Taxonomy
- Rewrite url for existing page without flush_rewrite_rules
- Custom rewrite rule serves content, but returns 404 error code
- URL rewriting must be activated manually for my plugin
- How to change the URL pattern for single post view
- Why doesn’t flush_rewrite_rules run on plugin activation?
- Redirect traffic to plugin
- Append country to ‘pretty’ url but serve same page
- How To Consistently Enforce Rewrite Rule in Plugin Development
- How can I rewrite a URL to pass requests to a custom method via AJAX? (I can’t use admin-ajax.php)
- Adding rewrite rule dynamically
- rewrite URL based on selected taxonomy for post page
- Remove custom post type slug from URL and add taxonomy Slug
- Help writing custom function with rewrite endpoint that generates a page from dynamic content
- Possible to get all posts with my shortcode?
- add_rewrite_rule behaving strangely
- HowTo to add my rewrite rules at the beginning, redirect to the right page and flush the rules on plugin activation?
- Create page (not the post type) dynamically
- How can I add rewrite rules to a class-based plugin?
- configuration of .htaccess for add_rewrite_rule to make sense
- Plugin Development – Get Admin Url (Including cases where wp-admin is not used)
- Forward an old url rewrite scheme to a new one?
- Custom Path for a Plugin
- Custom post type change permalink query
- Change cannonical URL after changing url with add_rewrite_rule()
- Disabling Yoast, All-in-One, and Rank Math on Certain Pages within a Plugin
- WordPress custom url without using any of the custom tags given
- Using meta_key & meta_value in add_rewrite_rule
- How to force download a plugin generated file?
- How to pass a more variable with page/subpage in Wordprees URL?
- Any way to make Apache’s internal redirect work?
- Rewriting URLs with a query string
- How can I send an id over the url?
- Custom slug in url for CPT and taxonomy
- add_rewrite_rule not working
- Mapping multiple URLs to same page
- Use custom clean URLs for a plug in
- How to Rewrite WordPress URL for a Plugin
- Virtual Page with Registration form
- How to use permalink query to go to specific tabs in posts
- How to Rewrite WordPress URL for a Plugin
- redirect word-press page with page values
- URL rewrite parameter lost (add_rewrite_rule)
- Custom rewrite, url path with parameters to a page
- How to enqueue JavaScripts in a plugin
- In Which Contexts are Plugins Responsible for Data Validation/Sanitization?
- Should Plugin Folders Include a Blank index.php File?
- Fatal error: Class ‘ms\WP_Query’ not found on plugin initialization [closed]
- How to properly sanitize strings for update_option()
- WP Cron – Run Cron after evey 15 minutes at a specific time for the next three hours
- Overwriting Core WordPress Functions with Plugins
- How do I handle multiple Submit buttons in plugin’s option page?
- How to properly load text domain of custom mu plugin
- Whats the difference between blog_info(‘stylesheet_url’) difference get_stylesheet_uri()
- How do I change the initial quantity of a product in woocommerce?
- How to insert data to a database table when the field is not yet created?
- Show special field when correct shipping is chosen
- Custom Taxonomy to dropdown box on adminside wordpress
- On cliking add new post redirect user to a custom page first
- wp.template() returns tags in Ajax response
- How to restrict access to image folder depending on whether product is purchased or not?
- Caching the_content calls
- How to hide or rename “X” and “x-child” references in website source?
- How to Move the Comments Bubble to the Right Side of the Toolbar
- How should I go about registering JavaScript that isn’t a file? [duplicate]
- Can’t find where to modify attrbitutes
- How to pull user/author profile data in a plugin?
- Add Password Generator on password protected page
- How to optimize multiple insert into wordpress database
- How to add custom options for plugin into the add post screen – like yoast seo
- How to relate the Category to user?
- Plugin won’t activate
- dbdelta failing with error: “WordPress database error Table ‘wp_2_myPlugin’ already exists
- Plugin could not be activated because it triggered a fatal error?
- Get cat parameter from admin-ajax
- Using wp_mail to send email?
- Which wp plugin can use Create, Edit and Delete Email address from WordPress Dashboard
- Limit get_next_post to posts from the same author
- how to create a shortcode from a variable in plugin
- Any way, hook to add content right before the “read more” link?
- Error Connecting to Database WHEN Installing WordPress on XAMPP [Tried All the Usual Stuff] (Pics Included)
- How do I ensure I can loop through every enqueued script and CSS?
- Adding body class in author page for custom role
- Plugins Settings page not updating
- TinyMCE 4.7.11 – Enable hidden WordPress core plugins? (referencing a wp-includes from plugin.php)
- Enqueue scripts based on site.
- My enqueue admin style function doesn’t work because of ?=ver
- WordPress filter custom posts by multi terms of of a taxonomy
- How can I give access to my plugin sections in admin?
- Making plugin output customizable
- Return all roles, including custom roles
- How can I get Intellisense working in Visual Studio Code while editing remote PHP plugin code on a WordPress site via FTP?