Title: Australcode Uniform Images
Author: australcode
Published: <strong>3 ژوئن 2026</strong>
Last modified: 10 ژوئن 2026

---

جستجوی افزونه‌ها

![](https://ps.w.org/australcode-uniform-images/assets/banner-772x250.png?rev=3568057)

![](https://ps.w.org/australcode-uniform-images/assets/icon-256x256.png?rev=3568057)

# Australcode Uniform Images

 توسط [australcode](https://profiles.wordpress.org/australcode/)

[دانلود](https://downloads.wordpress.org/plugin/australcode-uniform-images.0.39.0.zip)

 * [جزئیات](https://fa.wordpress.org/plugins/australcode-uniform-images/#description)
 * [نقد و بررسی‌ها](https://fa.wordpress.org/plugins/australcode-uniform-images/#reviews)
 *  [نصب](https://fa.wordpress.org/plugins/australcode-uniform-images/#installation)
 * [توسعه](https://fa.wordpress.org/plugins/australcode-uniform-images/#developers)

 [پشتیبانی](https://wordpress.org/support/plugin/australcode-uniform-images/)

## توضیحات

**Australcode Uniform Images** solves the classic WooCommerce catalog problem: product
photos with different proportions that the theme crops brutally to align the grid.
This plugin makes them uniform without cropping — it adds smart padding over a colored
canvas (white by default), optionally trims the uniform background first to normalize
inconsistent margins, and delivers each thumbnail in AVIF + WebP + JPEG using the`
<picture>` element.

#### Key differentiators

 * **No accidental crops** — the entire product fits inside the thumbnail, always.
   Compare with “smart crop” plugins that guess the subject and sometimes fail on
   small or asymmetric products.
 * **Real `<picture>` markup** — multi-source with AVIF + WebP + JPEG fallback. **
   Survives any page cache** (LiteSpeed, WP Rocket, Cloudflare APO, W3 Total Cache)
   because it does not use `Vary: Accept`. The browser picks the optimal format;
   the cache serves HTML without negotiation.
 * **4-tier quality preset** — Maximum / High / Standard / Economy with per-format
   values calibrated (e.g. Standard = AVIF Q60, WebP Q82, JPEG Q85 — visually indistinguishable
   from the original at half the size).
 * **HPOS-ready from day one** — declares `custom_order_tables` and `cart_checkout_blocks`
   compatibility without any setup.
 * **Cloudflare Image Transformations (CIT)** — optional integration to serve via
   Cloudflare edge (`/cdn-cgi/image/format=auto`) with automatic availability detection
   on your zone. If CIT is not enabled on your CF plan, the plugin keeps serving
   local derivatives without breaking anything.

#### Free (no license required)

 * **Bulk regenerate with Action Scheduler** — async processing resumable after 
   worker death, error classification (`oom`, `missing_original`, `engine_failed`,`
   fs_permission`), scope filters (`auto` = products only based on Settings; `all-
   used` = every image referenced in posts/products/Bricks templates/terms).
 * **Embedded sample test** — processes 1-5 images on demand and shows the before/
   after grid with bytes and % savings. Available on the **Settings** page (“Quick
   preview”) and on **Bulk regenerate** (“Generate sample”).
 * **Health page with CDN detection** — engine diagnostics, encoders, filesystem
   permissions, detected competing plugins (Smush/EWWW/ShortPixel/Imagify), Cloudflare
   Polish status (alerts if active — incompatible with the plugin’s AVIF/WebP), 
   Image Prioritizer (Performance Lab) status with automatic detection.
 * **WP-CLI — 9 commands** — 7 free: `wp acimg health`, `stats`, `regenerate`, `
   derivatives <id>`, `purge-cache`, `restore-originals`, `migrate-from-sir`. 2 
   Pro: `wp acimg doctor` (extended diagnostics) and `wp acimg reset` (full state
   reset).

#### Pro (license required)

 * **Cloudflare Image Transformations (CIT) delivery** — emits `<img>` with CIT 
   URLs (`/cdn-cgi/image/format=auto`) instead of local derivatives when CIT is 
   enabled on your zone. Defensive automatic fallback to the normal path if CIT 
   is unavailable.
 * **Media Library audit + cleanup** — orphan image detector that understands **
   Bricks Builder** (PHP serialize), `wp_termmeta`, WooCommerce shortcodes, custom
   meta. Trash mode with typed confirmation, immutable audit log, and an `untrash`
   endpoint for rollback.
 * **Image Health Monitor** — weekly cron that scans for missing derivatives, stale
   derivatives, Cloudflare Polish conflicts, and storage usage. Email digest to 
   the admin only when there are actionable findings.
 * **AI Alt Text BYOK** — alt text generation per attachment via OpenAI Vision (`
   gpt-4o-mini`) or Anthropic Vision (`claude-haiku-4-5`). Bring Your Own Key (no
   Merchant of Record over AI costs). Context enrichment with WooCommerce product
   title + category + brand.
 * **Catalog Watch + Auto-Heal** — daily cron that detects ghost derivatives (DB
   rows without files), orphan files (files without DB rows), products with broken
   thumbnails. Auto-heal with dry-run preview + strict path validation. Persistent
   admin notice when there are actionable issues.
 * **Multi-Site Manager** (Agency) — centralized dashboard to monitor up to 25 client
   sites from a single wp-admin. BYO Application Password, aggregated metrics (derivatives
   + bytes + issues), automatic hourly sync + ad-hoc. No external services: direct
   wp-admin  wp-admin communication via native REST.
 * **CIT Cost Analyzer** — daily pull from Cloudflare GraphQL Analytics API. MTD
   cost + monthly projection + peak day to identify spikes. BYO API token (CF authenticates
   directly).

#### Integration with other plugins

 * **Image Prioritizer / Performance Lab** — Australcode Uniform Images detects `
   fetchpriority="high"` and propagates correct loading/decoding to the final `<
   picture>`. Native LCP optimization.
 * **Bricks Builder** — supports `wp_get_attachment_image` and optional output buffer
   rewriter for themes/page builders that bypass that filter.
 * **WP Rocket / a3 Lazy Load** — compatible with `data-src`/`data-sizes` lazy loaders(
   reads both if present).

#### v1.0 non-goals

 * **Smart crop** — would break the “no cropping” promise. If you need that, this
   plugin is not for you.
 * **SaaS-only / phone home** — the plugin is 100% local. All optimization happens
   on your own server.
 * **JPEG XL** — format still immature in browsers. We will reevaluate in 2027.

#### How it compares

 Concern
 Smush / ShortPixel / Imagify Australcode Uniform Images

 Product photo cropping
 Smart crop (algorithm guesses) None — pads to a uniform
canvas, full product always visible

 Modern formats
 WebP / AVIF (Pro/paid tiers) AVIF + WebP + JPEG via `<picture>`
element

 Free bulk limit
 Capped (e.g. 150 images on the leading “same size” plugin; monthly
credit quotas on optimizers) Unlimited — regenerate your whole catalog on Free

 Free formats
 WebP/AVIF behind paid tiers AVIF + WebP + JPEG, all free

 Page cache
 `Vary: Accept` (breaks LiteSpeed, WP Rocket, Cloudflare APO) `<picture
>` element (cache-safe by design)

 Pricing model
 $5-15/month SaaS subscription Annual or lifetime license, no SaaS
dependency

 WooCommerce-specific
 Generic optimizer Built for product grids — reads `wp_get_registered_image_subsizes()`,
respects WC thumbnail_cropping setting

 Processing location
 SaaS server (your images leave) 100% local on your server

The other plugins optimize **any image**. Australcode Uniform Images does **one 
job extremely well**: uniform product thumbnails for WooCommerce grids, served cache-
safe. If you already have one of the big plugins active, you can run Australcode
side-by-side — it only touches images on registered WooCommerce sizes.

### External services

This plugin connects to external services **only when you explicitly enable or
 
use the corresponding optional feature
. The free, core functionality (uniform
 
images, AVIF/WebP/JPEG `<picture>`, bulk regenerate, health) runs 100% on your own
server and contacts no external service.

#### Freemius (account, licensing & secure checkout)

Australcode uses Freemius as its billing and licensing platform (Freemius is the

Merchant of Record for Pro purchases). Connecting to Freemius is **optional**: on
activation you can click **“Skip”** and the plugin stays fully functional without
ever contacting Freemius.

 * If you **opt in** (free or Pro), the plugin sends your **admin email**, **site
   
   URL
    and basic environment data (WordPress, PHP and plugin versions) to the
    
   Freemius API (host `api.freemius.com`, path `/v1/`) to create your account and
   check for updates.
 * If you **activate a Pro license**, the plugin sends your **license key** and
   **
   site domain** to Freemius to validate the license and enforce the per-plan site
   limit. The license is re-validated periodically.
 * Purchases and license management happen on Freemius-hosted pages
    (hosts `freemius.
   com`, `users.freemius.com`).

No data is sent to Freemius if you skip the opt-in and do not enter a license key.

 * Terms of Service: https://freemius.com/terms/
 * Privacy Policy: https://freemius.com/privacy/

#### Australcode (Family page plugin catalog)

The optional **Family** page (Australcode Image  Family) lists the other
 plugins
of the Australcode family. Only when you open that page, the plugin fetches the 
current catalog from our own site (host `australcode.io`, path /family.json) and
caches it locally for 7 days; your browser also loads the plugin icons shown there
from `australcode.io`. No personal data is sent — it is a standard HTTP request (
the WordPress user agent includes your site URL). If the request fails, a bundled
offline copy of the catalog is used and the page still works.

 * Terms of Service: https://australcode.io/terms
 * Privacy Policy: https://australcode.io/privacy

#### OpenAI / Anthropic (AI Alt Text — Pro, Bring Your Own Key)

If you enable **AI Alt Text** and provide your own API key, the plugin sends the
**
image** (as a base64 data URI) plus the related **WooCommerce product context** (
title, category, brand) to the provider you choose, to generate alt text:

 * OpenAI Vision (`gpt-4o-mini`) — host `api.openai.com`, path `/v1/chat/completions`
    - Terms: https://openai.com/policies/terms-of-use
    - Privacy: https://openai.com/policies/privacy-policy
 * Anthropic Vision (`claude-haiku-4-5`) — host `api.anthropic.com`, path `/v1/messages`
    - Terms: https://www.anthropic.com/legal/consumer-terms
    - Privacy: https://www.anthropic.com/legal/privacy

This runs only when you trigger alt text generation and only with the key you
 supply.
The plugin is not a Merchant of Record for these AI costs (BYOK).

#### Cloudflare (Image Transformations + Cost Analyzer — Pro)

If you enable **Cloudflare Image Transformations (CIT)**, image URLs of your own

site are served through Cloudflare’s edge (`/cdn-cgi/image/...`) so Cloudflare can
transform them on-demand. If you enable the **CIT Cost Analyzer**, the plugin queries
the Cloudflare GraphQL Analytics API (host `api.cloudflare.com`, path `/client/v4/
graphql`) with the API token **you provide** and your zone identifier, to report
usage and cost. The plugin also performs a HEAD request to one of **your own** derivative
URLs to detect whether CIT and Cloudflare Polish are active on your zone (no third-
party data is sent in that detection).

 * Terms of Service: https://www.cloudflare.com/terms/
 * Privacy Policy: https://www.cloudflare.com/privacypolicy/

## عکس‌های صفحه

[⌊Dashboard — catalog metrics: processed images, generated derivatives, storage 
used, % savings when serving AVIF vs original, active quality preset, current bulk
run.⌉⌊Dashboard — catalog metrics: processed images, generated derivatives, storage
used, % savings when serving AVIF vs original, active quality preset, current bulk
run.⌉[

**Dashboard** — catalog metrics: processed images, generated derivatives, storage
used, % savings when serving AVIF vs original, active quality preset, current bulk
run.

[⌊Settings — 4-tier quality preset, per-size override, visual canvas color picker,
sticky save bar that appears when changes are detected.⌉⌊Settings — 4-tier quality
preset, per-size override, visual canvas color picker, sticky save bar that appears
when changes are detected.⌉[

**Settings** — 4-tier quality preset, per-size override, visual canvas color picker,
sticky save bar that appears when changes are detected.

[⌊Bulk regenerate — scope dropdown with real-time count, dry-run with storage and
time estimation, embedded sample test with before/after grid.⌉⌊Bulk regenerate —
scope dropdown with real-time count, dry-run with storage and time estimation, embedded
sample test with before/after grid.⌉[

**Bulk regenerate** — scope dropdown with real-time count, dry-run with storage 
and time estimation, embedded sample test with before/after grid.

[⌊Health — full diagnostic: active engine + codec capabilities matrix, DB tables
with row count, applied migrations, CDN edge (Cloudflare Polish/Mirage + Image Transformations
detection).⌉⌊Health — full diagnostic: active engine + codec capabilities matrix,
DB tables with row count, applied migrations, CDN edge (Cloudflare Polish/Mirage
+ Image Transformations detection).⌉[

**Health** — full diagnostic: active engine + codec capabilities matrix, DB tables
with row count, applied migrations, CDN edge (Cloudflare Polish/Mirage + Image Transformations
detection).

[⌊Clean library (Pro) — orphan image audit with Bricks Builder + wp_termmeta + WooCommerce
shortcodes detection. Trash mode with typed confirmation and audit log.⌉⌊Clean library(
Pro) — orphan image audit with Bricks Builder + wp_termmeta + WooCommerce shortcodes
detection. Trash mode with typed confirmation and audit log.⌉[

**Clean library** (Pro) — orphan image audit with Bricks Builder + wp_termmeta +
WooCommerce shortcodes detection. Trash mode with typed confirmation and audit log.

[⌊Catalog Watch (Pro) — daily cron that detects ghost derivatives, orphan files,
and products with broken images. Auto-heal with dry-run preview before applying.⌉⌊
Catalog Watch (Pro) — daily cron that detects ghost derivatives, orphan files, and
products with broken images. Auto-heal with dry-run preview before applying.⌉[

**Catalog Watch** (Pro) — daily cron that detects ghost derivatives, orphan files,
and products with broken images. Auto-heal with dry-run preview before applying.

[⌊Multi-Site Manager (Agency) — centralized dashboard to monitor up to 25 client
sites. BYO Application Password, aggregated metrics + status badges.⌉⌊Multi-Site
Manager (Agency) — centralized dashboard to monitor up to 25 client sites. BYO Application
Password, aggregated metrics + status badges.⌉[

**Multi-Site Manager** (Agency) — centralized dashboard to monitor up to 25 client
sites. BYO Application Password, aggregated metrics + status badges.

[⌊Account & license (Pro) — Freemius-powered account page: activate or deactivate
your license, review your plan and billing, one-click upgrade path to a higher tier.⌉⌊
Account & license (Pro) — Freemius-powered account page: activate or deactivate 
your license, review your plan and billing, one-click upgrade path to a higher tier
.⌉[

**Account & license** (Pro) — Freemius-powered account page: activate or deactivate
your license, review your plan and billing, one-click upgrade path to a higher tier.

## نصب

#### Via WordPress Admin (recommended)

 1. Go to **Plugins  Add new** in your WP admin, search for “Australcode Uniform Images”
    and click Install + Activate.
 2. Navigate to the new top-level menu **Australcode Image  Settings** and choose your
    quality preset (default Standard works well for most cases).
 3. Go to **Australcode Image  Bulk regenerate**, run a Sample Test with one product
    to validate visually, then click “Start bulk” to process the full catalog.

#### Via WP-CLI

    ```
    `
    ```

wp plugin install australcode-uniform-images –activate wp acimg health # verify 
everything is OK wp acimg regenerate # bulk dry-run wp acimg regenerate –start –
yes # starts bulk in the background `

## سوالات متداول

### Is it compatible with WooCommerce HPOS (High-Performance Order Storage)?

Yes. Compatibility with `custom_order_tables` and `cart_checkout_blocks` is declared
from day one via `before_woocommerce_init`. No manual configuration required.

### Does it work with Cloudflare?

Yes, and well. The plugin emits `<picture>` with `<source>` per MIME type — **it
survives Cloudflare APO** and any page cache perfectly because it does NOT use `
Vary: Accept` (which would break caching).

If you have **Cloudflare Pro+**, you can enable **Image Transformations** from Settings
CDN edge. The plugin automatically detects whether CIT is available on your zone
and emits `/cdn-cgi/image/` URLs that CF transforms on-demand with `format=auto`.

**Caution with Cloudflare Polish**: if active, it re-compresses the AVIF/WebP that
the plugin already optimized — double compression equals visual artifacts. The plugin
detects this on the Health page and alerts you with an admin notice. Recommendation:
disable Polish, keep APO.

### Which image engine does it use?

**Imagick** (preferred) with `libheif` for AVIF. **GD** as fallback. **libvips**
is wired in the code but requires bundled binaries (not included in v0.x — future
sprint). The active engine and its capabilities (read/write per format) appear on**
Health  Image engines**.

### Do I need anything special for AVIF?

Imagick compiled with `libheif` (common on modern hosts: Kinsta, WP Engine, SiteGround,
recent Cloudways). If Imagick does not support AVIF, the plugin still emits WebP
+ JPEG and the Health page reports the limitation. **You do not get stuck without
anything** — you just lose the most efficient format.

### How much storage does it use?

Estimate: ~700 KB of derivatives on average per original image at Standard preset(
varies a lot by content type — product photos with a uniform background compress
better). For a catalog of 1,000 products with one image each, that’s ~700 MB of 
derivatives. By default the plugin **never modifies your originals** — derivatives
are separate files, so you need space for original + derivatives. The only exception
is the optional “apply trim to original” setting (off by default), which backs up
the pristine file first and is reversible with `wp acimg restore-originals`.

### How do I regenerate after changing settings?

Change settings on **Australcode Image  Settings**, save (the plugin shows a modal
warning you that existing derivatives are invalidated), and then go to **Bulk regenerate**
or run `wp acimg regenerate --start --yes`. The plugin keeps serving the old derivatives
until regeneration completes — **zero visual downtime**.

### Conflicts with Smush / EWWW / ShortPixel / Imagify?

Yes, **disable those plugins** before installing Australcode Uniform Images. The
Health  Doctor page detects them and alerts you. The typical conflict is that those
plugins also hook into `wp_get_attachment_image` and rewrite the HTML — the output
ends up inconsistent.

### Does it have WP-CLI?

Yes, 9 commands under `wp acimg <subcommand>`. Seven are free: health (CI smoke 
test), stats, regenerate, derivatives , purge-cache, restore-originals, and migrate-
from-sir. Two require a Pro license: doctor (extended diagnostics) and reset (resets
all persisted state without deactivating). Each command supports `--format=json`.`
wp help acimg` lists them all.

### How do I report a bug or request a feature?

Open a support thread in the WordPress.org plugin support forum (linked from the
plugin page sidebar). For Pro license-related issues, contact support@australcode.
io.

## نقد و بررسی‌ها

نقد و بررسی‌ای برای این افزونه یافت نشد.

## توسعه دهندگان و همکاران

“Australcode Uniform Images” نرم افزار متن باز است. افراد زیر در این افزونه مشارکت
کرده‌اند.

مشارکت کنندگان

 *   [ australcode ](https://profiles.wordpress.org/australcode/)

[ترجمه “Australcode Uniform Images” به زبان شما.](https://translate.wordpress.org/projects/wp-plugins/australcode-uniform-images)

### علاقه‌ مند به توسعه هستید؟

[Browse the code](https://plugins.trac.wordpress.org/browser/australcode-uniform-images/),
check out the [SVN repository](https://plugins.svn.wordpress.org/australcode-uniform-images/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/australcode-uniform-images/)
by [RSS](https://plugins.trac.wordpress.org/log/australcode-uniform-images/?limit=100&mode=stop_on_copy&format=rss).

## گزارش تغییرات

#### 0.39.0

 * **New look: the Australcode admin theme.** Every plugin page now ships the Australcode
   Admin Kit — same typography, spacing and the new green accent across the whole
   plugin family. No settings change; purely visual.
 * **English-first interface.** The admin UI source language is now English, with
   complete Spanish translations bundled (`es_ES` and `es_CL`, 100% coverage). WordPress
   picks your site language automatically.
 * **New “Family” page** — discover the other Australcode plugins, see which ones
   you already run, and install the free ones in one click. No ads, no admin notices—
   it lives quietly as the last submenu.
 * **Fixed:** PHP notices when the premium and free builds are swapped in place (
   constant guards).
 * **Fixed:** the WooCommerce cropping how-to path in Settings was untranslatable.

#### 0.38.0

 * **Licensing and checkout moved to Freemius.** Pro licensing, purchases and the
   in-plugin account now run through Freemius — our new billing platform and Merchant
   of Record — replacing the previous provider. Image processing, bulk regeneration
   and delivery are unchanged; this release only swaps the billing/licensing layer.
 * **Privacy-first, optional opt-in.** The connection screen is fully WordPress.
   org-compliant: clicking “Skip” keeps every free feature working and sends no 
   data to any external service.
 * **The free version stays 100% functional** with no account required.
 * **Updated the “External services” disclosure** in this readme to reflect the 
   move from Lemon Squeezy to Freemius.

#### 0.37.0

 * **`wp acimg migrate-from-sir` is now free** — import your Smart Image Resize 
   settings (background color, trim, sizes) into Australcode with one command. Makes
   switching effortless.
 * **New output-format controls (free)** — force JPEG-only or PNG-only output per
   your needs, plus an optional delivery filesystem check on the Health page. Off
   by default; existing sites unaffected.
 * **Catalog Watch repair now runs in the background** — on large catalogs the repair(
   and its preview) no longer time out behind Cloudflare. Progress is shown and 
   you can close the page; the job continues. (Pro)
 * **Cleanup, Multi-Site and CIT Cost pages redesigned** — Cleanup is now a 3-step
   wizard (Audit  Review  Move), Multi-Site has a guided empty state, and CIT Cost
   leads with a budget KPI + projection.
 * **Fixed** — Settings page polish: the AI Alt Text and aspect-ratio override sections
   now align with the settings column, and their “Pro” badges correctly disappear
   once a Pro license is active.

#### 0.36.1

 * Page-builder coverage extended to Beaver Builder (`_fl_builder_data`) and Oxygen(`
   ct_builder_shortcodes`). The detection now combines two strategies per builder:
   structured ID extraction (precise for Bricks/Elementor) and a universal URL scan
   of the builder’s stored markup (covers Beaver, Oxygen, and any builder that embeds
   the image URL). Divi/WPBakery remain covered via `post_content`.

#### 0.36.0

 * Page-builder coverage: Bulk Regenerate (“All used images” scope) now detects 
   images placed directly in Bricks and Elementor templates — they live in the builder’s
   own storage (`_bricks_page_content`, `_elementor_data`), outside `post_content`,
   so previous versions never found or optimized them. Divi was already covered (
   it stores in `post_content`). The frontend delivery already handled any `<img
   >` from any builder; this closes the generation side.
 * Bulk runs now process exactly what the chosen scope selected: the “All used images”
   scope optimizes every used image (products and non-products alike), instead of
   silently skipping images whose post type isn’t in the processing filter. The 
   per-type filter still governs automatic processing on upload.

#### 0.35.0

 * New (opt-in): auto-detect transparency. When enabled, images whose original has
   significant transparency (logos, cut-out products with shadows) keep their alpha
   channel — the plugin uses a transparent canvas and a PNG raster fallback instead
   of flattening onto the canvas color. WebP and AVIF already preserve transparency.
   Off by default, so existing sites are unaffected until you turn it on (which 
   regenerates derivatives). Set it in Settings  Formats & quality  Transparency.

#### 0.34.1

 * Internationalization: the admin JavaScript layer is now fully translatable. All
   dynamic UI text in Bulk Regenerate and Clean Library (counters, confirmations,
   progress, summaries, error messages) — plus the previously localized Catalog 
   Watch, Multi-Site, CIT Cost Analyzer and settings preview — now routes through
   WordPress translations instead of hardcoded strings.
 * The English (en_US) translation bundle is now 100% complete.
 * No behavior changes: every string keeps its original fallback until the site’s
   active language provides a translation.

#### 0.34.0

 * Pro: new per-aspect-ratio mode overrides. For each main WooCommerce size you 
   can choose how each aspect ratio is processed (square 1:1, 4:3, 16:9, portrait,
   etc.): uniform with canvas, proportional without cropping, or skip. For example,
   keep square images on “proportional” while the rest of the size follows its base
   mode. Available on all paid plans.
 * The per-aspect override is wired into the generation pipeline (upload and bulk
   regeneration) and into derivative invalidation, so changing it regenerates only
   what is needed.
 * Visibility: the Dashboard now shows how many images were skipped by the context
   filter (not attached to a processable post type), with a shortcut to adjust the
   filter. Avoids the “I uploaded an image and nothing happened” confusion.

#### 0.33.2

 * Security: REST endpoints that operate on attachments now verify the edit/delete
   capability per attachment (current_user_can edit_post/delete_post), in addition
   to the general manage_woocommerce gate.

#### 0.33.1

WP.org re-submission compliance + listing polish. No user-facing behavior changes—
safe in-place upgrade.

 * **External services URLs no longer pingable as 404** — the readme’s “External
   services” section referenced API endpoints (`api.lemonsqueezy.com`, `api.openai.
   com`, `api.anthropic.com`, `api.cloudflare.com`) as full URLs. WP.org’s review
   scanner pings every URL in the readme and flagged the Lemon Squeezy endpoint 
   as a broken Terms/Privacy URL. Endpoints are now declared as host + path (not
   full clickable URLs); Terms/Privacy links remain and resolve.
 * **Explicit output-buffer close** — `OutputBufferHook` (opt-in feature, off by
   default) now closes its `ob_start()` buffer explicitly on `shutdown`, guarded
   by `ob_get_level()`. Same rewritten output, paired open/close as WP.org guidelines
   expect. WP 6.5+ compatible.
 * **Banners + branding** — re-generated WP.org banners with the current name (Australcode
   Uniform Images) and version; renamed the last legacy global variable in the bootstrap
   file.
 * **Listing polish** — sharper short description and tags for the target niche,
   added Upgrade Notice, fixed screenshot #8 caption, aligned WP-CLI command count
   between Description and FAQ.

Internal: 296/296 unit tests passing.

Full history of older versions (0.33.0 and earlier) is preserved in the project’s
archive — contact support@australcode.io if you need detail on a specific legacy
version.

## اطلاعات

 *  نگارش **0.39.0**
 *  Last updated **2 روز پیش**
 *  نصب‌های فعال **کمتر از 10**
 *  نگارش وردپرس ** 6.5 یا بالاتر **
 *  Tested up to **7.0**
 *  نگارش PHP ** 8.2 یا بالاتر **
 *  زبان
 * [English (US)](https://wordpress.org/plugins/australcode-uniform-images/)
 * Tags
 * [AVIF](https://fa.wordpress.org/plugins/tags/avif/)[image resize](https://fa.wordpress.org/plugins/tags/image-resize/)
   [product images](https://fa.wordpress.org/plugins/tags/product-images/)[thumbnails](https://fa.wordpress.org/plugins/tags/thumbnails/)
   [woocommerce](https://fa.wordpress.org/plugins/tags/woocommerce/)
 *  [نمایش پیشرفته](https://fa.wordpress.org/plugins/australcode-uniform-images/advanced/)

## امتیازها

هنوز هیچ نقدی ارسال نشده است.

[Your review](https://wordpress.org/support/plugin/australcode-uniform-images/reviews/#new-post)

[مشاهده همه بررسی‌ها](https://wordpress.org/support/plugin/australcode-uniform-images/reviews/)

## مشارکت کنندگان

 *   [ australcode ](https://profiles.wordpress.org/australcode/)

## پشتیبانی

چیزی برای گفتن دارید؟ نیاز به کمک دارید؟

 [مشاهده انجمن پشتیبانی](https://wordpress.org/support/plugin/australcode-uniform-images/)