The Regenerate Thumbnails tool rebuilds FotoGrids image derivatives — the cropped thumbnails used in gallery grids and the resized images used in the Lightbox — for the photos already in your Galleries. Run it after changing image sizes, switching themes, or fixing broken thumbnails.
Location FotoGrids → Tools → Regenerate Thumbnails
When to use it #
WordPress generates every registered image size at upload time, then keeps using those files for the lifetime of the upload. That means changes you make later — to the Gallery thumbnail dimensions, the Lightbox image width, or any Gallery-custom size — only affect images uploaded after the change.
The Regenerate Thumbnails tool closes that gap. It walks every image used in your FotoGrids Galleries and rebuilds the FotoGrids derivatives so the new size settings actually take effect.
Typical reasons to run it:
- You changed Dimensions, Crop mode, or Crop alignment on the Media tab and want existing Galleries to pick up the new look.
- You changed the Max width of the Lightbox image and want existing items to use the new size.
- You added a Custom thumbnail or full-image size on an existing Gallery.
- You switched themes and the theme exposes new image sizes you want FotoGrids items to have.
- Thumbnails look stretched, blurry, or are missing entirely on the front end — usually a sign that derivative files were lost or never generated.
The Regenerate tab #
The default tab is a table of every image used across your FotoGrids Galleries, with one column per FotoGrids size and a final column for any other registered sizes on your site.
File column
Each row shows the source image’s thumbnail, its title, and its filename. If Show unused is on, items that are not in any Gallery are flagged with a Not in any gallery badge.
Size status columns
Each FotoGrids size — FotoGrids Thumbnail, FotoGrids Full Image, and any Gallery-custom sizes that are in use — gets its own column. Two states are possible:
- Exists — a green check mark, with the actual dimensions on hover. The derivative file is present on disk.
- Missing — an amber alert mark. The size is registered but the file has not been generated for this image.
A missing status is not necessarily a problem. WordPress refuses to upscale, so a small source image will not produce a large cropped derivative — see Why some sizes stay missing below.
Other registered sizes
If other plugins or your theme register image sizes outside FotoGrids, those are grouped in a single Other registered sizes column. The cell shows a count of how many exist and how many are missing; hover the cell for the full per-slug breakdown.
Show unused
| Setting | Show unused |
| Default | off |
By default the table lists only images used in at least one FotoGrids Gallery — those are the ones that actually need correct derivatives. Turn this on to include every image attachment in the media library, including images not assigned to any Gallery.
Regenerating thumbnails #
There are two ways to regenerate:
- Regenerate button on a row — rebuilds derivatives for that single image only. Useful for spot-fixing one item with broken thumbnails.
- Regenerate All button at the top of the toolbar — walks every image in the current filter (gallery items only by default, or every image in the media library when Show unused is on) and rebuilds derivatives one at a time.
In either case, the Log tab opens automatically so you can watch progress.
Regenerate All can be cancelled at any time using the Cancel button. Cancelling stops the queue cleanly after the current image finishes — any images already rebuilt keep their new derivatives.
The Log tab #
The Log tab appears the moment you start a regeneration. It has two parts:
Progress bar
A counter at the top shows how many images have been processed out of the total, along with a percentage. While regeneration is running, the Cancel button is available here.
Per-file log
Each image rebuilt appears as a row in the log, with its title, filename, and source dimensions. Below the file header, every registered size is listed with one of two states:
- Generated — green check mark, with the resulting dimensions next to the size name. The derivative was successfully rebuilt.
- Skipped — amber alert mark, with a short reason. The derivative was not generated for this image — see Why some sizes stay missing.
If an image fails to regenerate entirely (for example, the file is missing from disk), a single error row is shown with the failure message.
The log scrolls automatically as new entries arrive. It is held in memory only for the current session — closing the page clears it.
Why some sizes stay missing #
WordPress will not upscale an image. When a source image is too small to produce a registered size, that size is skipped — even after regeneration. The Log tab spells out the exact reason for every skipped size.
Common reasons:
| Source smaller than crop target | For hard-cropped sizes, the source must be at least as wide AND as tall as the target. A 600 × 400 source cannot produce a 1200 × 800 cropped derivative. |
| Source not larger than target | For non-cropped sizes, the source must exceed the target on at least one axis for WordPress to bother generating a scaled-down copy. A 1500 px wide source against a 1920 px target is left as-is. |
| Image size no longer registered | The size existed when the derivative was first generated but is no longer registered — usually because the plugin or theme that defined it has been removed. |
| Source dimensions unknown | The original file is unreadable or corrupt. Check the file in Media Library. |
| Image editor did not produce this size | A WordPress image-editor error — usually a memory or write failure. Try regenerating that single image, or check your server’s PHP memory limit. |
A missing derivative is not a broken Gallery. FotoGrids falls back through a chain of sizes when rendering — FotoGrids Thumbnail falls back to thumbnail, then medium, then full; FotoGrids Full Image falls back to large, then full. The Gallery still renders, using a different size.
Refresh status #
The Refresh Status button on the toolbar re-reads the current state from the server without regenerating anything. Use it after you’ve made changes elsewhere — for example, after uploading new images in the media library — to bring the table up to date.
Pagination #
The status table loads 50 items per page. Use the Prev and Next buttons at the bottom of the table to move through the list. Pagination controls are disabled while a regeneration is in progress.
When you run Regenerate All, only the items on the current page are processed. To regenerate every image in your Galleries, work through each page in turn, or filter the list down with Show unused off and step through the pages.
Performance notes #
Regeneration runs one image at a time on your own server. Each image takes anywhere from a fraction of a second to several seconds, depending on the source size, the number of registered image sizes, your server’s CPU, and available memory.
- Large libraries can take a while — a site with 5,000 gallery items might need an hour or more for a full pass.
- The page must stay open while regeneration runs. Closing the tab or navigating away cancels the queue.
- You can run regeneration alongside normal site traffic — it uses the WordPress REST API, not a long-running background process — but server load will go up during the run.
Regeneration overwrites the existing derivative files for each rebuilt size. The original upload is never touched, so the source image is always preserved.