The full developer reference for WebberZone Image Optimizer lives at webberzone.devOpens in a new window, a site generated directly from the plugin source. It documents every action and filter hook, every function, and every class and public method in the plugin, with parameters, return types and @since versions — and it is always regenerated from the current release, so it never drifts.
The reference site
- HooksOpens in a new window — all
wzio_action and filter hooks, such aswzio_conversion_argsandwzio_delivery_enabled. - FunctionsOpens in a new window — the
wzio_get_option(),wzio_update_settings()and other wrapper functions. - ClassesOpens in a new window — every class in the
WebberZoneImage_Optimizernamespace, with its public methods.
Conventions
The plugin uses the namespace WebberZoneImage_Optimizer and the prefix wzio throughout. Two design decisions matter when extending the plugin:
Sidecar files, named via Helpers::apply_sidecar_naming() — never by string concatenation. Default is photo.jpg → photo.jpg.webp; the Optimized file naming setting can switch a site to photo.webp instead, and code that assumes append-only will 404 there. The optional third argument forces a strategy rather than reading the setting, which is how the plugin looks for copies under the convention a site is not using. Originals are modified only when Compress original images is enabled, always with a verified backup and a restore path. The unscaled original_image is never touched.
<picture> rewriting, not Accept-header rewriting. The HTML is identical for every visitor; the browser picks the source. Do not rely on server-side content negotiation when extending delivery — it is deliberately not how this plugin works.
