=== Instant Featured Images ===
Contributors: quintaphon
Donate link: https://buymeacoffee.com/quintaphon
Tags: featured image, bulk edit, post thumbnails, auto featured image, default image
Requires at least: 5.6
Requires PHP: 5.6
Tested up to: 7.1
Stable tag: 1.0.09
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Set, replace and remove featured images in bulk, auto-assign default images by rule, and manage thumbnails right from your post lists.

== Description ==

Instant Featured Images is your streamlined, professional control center for managing featured images across your WordPress site. Set, replace, and clean up post thumbnails in bulk, configure intelligent automated preset rules for new content, and manage featured images directly from post and page list tables.

100% Free. All features are fully unlocked with zero limitations, no upsells, and no "Pro" version paywalls.

= Core Capabilities =

1. **Bulk Manager:** Set, swap, rotate randomly, or delete featured images across hundreds of posts and pages in a single guided wizard.
2. **Automated Default Rules:** Create intelligent rules that automatically assign featured images whenever posts or pages are saved, matching by category, tag, author, or custom post type.
3. **Database Orphan Cleanup:** Purge broken database references to deleted image files with one click.
4. **Interactive Post List Columns:** View, update, or remove thumbnails right from your Posts and Pages admin lists without leaving the screen.
5. **Media Library Integration:** One-click "Bulk Set" shortcut directly on any image row in your media library.

= Support & Community =

Instant Featured Images is maintained as a passion project for the WordPress community. If this plugin saves you time, please consider supporting continued maintenance:
[Buy Me a Coffee](https://buymeacoffee.com/quintaphon)

== Installation ==

1. Upload the plugin folder to your `/wp-content/plugins/` directory, or install it via the WordPress Plugins menu.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Go to the new **Featured Images** menu in your WordPress dashboard to begin.

== Frequently Asked Questions ==

= Is this plugin completely free? =
Yes! All features, tools, and options in Instant Featured Images are 100% free and unlocked for everyone.

= Does it support WooCommerce and Custom Post Types? =
Yes, any post type that registers thumbnail support will work seamlessly with both the Bulk Manager and Automated Presets.

= How do I support development? =
You can support continued development and updates by [buying a coffee](https://buymeacoffee.com/quintaphon).

== Changelog ==

= 1.0.09 =
* Automated Presets: a new rule for a category, tag or other term that already has a rule now replaces the older rule instead of adding a duplicate. The save message says how many rules were replaced.

= 1.0.08 =
* Fixed: on an empty Automated Presets page, the first added rule got the same number as the starter row, so picking images only changed the first row and saving kept just one rule.

= 1.0.07 =
* Bulk Manager: the review step loads only post IDs and shows the first 100 posts with totals, so it opens quickly even with tens of thousands of posts and no filters.
* Bulk Manager: the change is applied in batches of 100 with a progress bar, so large sites no longer hit timeouts; the results show a summary and the first 100 posts.
* Bulk Manager: the reviewed task is stored per user, so two admins can use it at the same time.

= 1.0.06 =
* Fixed: choosing the image a post already has as its featured image in the posts list showed "Item not added." It now counts as done.

= 1.0.05 =
* Automated Presets: rules are numbered from 1 (they started at 3, a leftover from the old layout).

= 1.0.04 =
* Translations: every string uses the plugin text domain, with translator comments for placeholders.
* Orphan cleanup uses the WordPress metadata API instead of a raw DELETE query; first-content-image lookup uses attachment_url_to_postid() (also works after a domain move).
* Fixed: PHP 8.2+ "dynamic property" deprecation notice in the Bulk Manager.
* Posts whose featured image no longer exists now count as "missing" on the Dashboard and in the "Without featured image" filter.
* Posts list: image tiles use the uncropped medium size, so wide logos stay whole.
* Uninstall only removes this plugin's own data.
* Removed unused debug code, legacy Ajax hooks and the update-blocking header.

= 1.0.03 =
* Sidebar: "Instant Images" heading, version number and a link to the plugin page.
* Dashboard: coverage shows one decimal and is rounded down, so it never says 100% while items are still missing (for example 99.6%).
* Dashboard: the "Missing an image" card opens the posts list filtered to published items without a featured image; with several post types it links to each one.
* Posts lists: new "Without featured image (N)" status link and filter for every post type with featured images, with a notice and a "Show all" link while it is active.
* Media library pop-ups (Bulk Manager and Automated Presets): proper titles such as "Choose the featured image" and a labelled select button ("Use this image", "Use these images", "Replace these images") instead of an empty title and a blank button.
* Bulk Manager: chosen images show as a tidy thumbnail grid.
* Posts lists: new featured image column. A fixed-size image tile (click to change) with small Edit and Remove buttons, a dashed "Set image" tile for posts without one, and a clear "File missing" state. Wide images such as logos are shown whole.
* Posts lists: featured images of a list page load in a few queries instead of several per row, and lazily as you scroll.
* Automated Presets: the term, tag and user lists are sent once per page instead of once per rule; each dropdown is filled when opened. Much smaller and faster pages on sites with many terms.
* Dashboard: the numbers are cached and refresh automatically when posts or featured images change.
* Plugin pages preload the two main font files.
* Automated Presets: rules per page limited to 25, 50 or 100; the default is now 50.
* Default images: rule images load lazily with a fixed-size tile and a placeholder shimmer, so the list does not jump while images load.
* Dashboard with live numbers: featured image coverage, posts missing an image, number of default image rules.
* Default images: settings as switches, one-line rules ("When Category is ..."), image tiles, a cleaner pager.
* Settings page rebuilt as cards with switches.
* Plugin-styled dialogs replace browser pop-ups; an unsaved-changes bar with Save and Discard.
* Bulk Manager: step tracker and reworded steps and actions.