Image Regenerate & Select Crop

0

The plugin allows managing advanced settings for images, overriding the native medium and large crop options, and registering new custom image sizes. The plugin appends two custom butto

Version
Last updated
Active installations
Tested up to
PHP Version
Rating
Total ratings
Tags

Description

The plugin allows managing advanced settings for images, overriding the native medium and large crop options, and registering new custom image sizes. The plugin appends two custom buttons that allow you to regenerate and crop the images, and provides details about the image sub-sizes registered in the application and the status of each associated file. The plugin also appends a sub-menu to “Settings” which allows you to configure the plugin for global or particular post-type attached images and to enable the developer mode for debugging, if necessary. The most recent details of the plugin features are available at https://iuliacazan.ro/image-regenerate-select-crop/.

The “Details/Options” button will open a lightbox where you can see all the image sizes registered in the application and details about the status of each sub-size of that image. If one of the sub-sizes files has not been found, you will see more details about this and, if possible, the option to manually generate this (for example the image size width and height are compatible with the original image). For the image sizes that are of “crop” type, you will be able to re-crop in one click the image using a specific portion of the original image: left/top, center/top, right/top, left/center, center/center, right/center, left/bottom, center/bottom, right/bottom. The preview of the result is shown right away, so you can re-crop if necessary.

The “Regenerate” button allows you to regenerate in one click all the image sizes for that specific image. This is really useful when during development you registered various image sizes and the already uploaded images are “left behind”.

The plugin does not require any additional code, it appends two custom buttons that will be shown on the “Edit Media” page and on the “Edit Post” and “Edit Page” where there is a featured image. This works also for custom post types. Also, it can be used in different resolutions and responsive layouts.

Hooks

image_regenerate_select_crop_button, sirsc_doing_sirsc, sirsc_action_after_image_delete, sirsc_attachment_images_ready, sirsc_attachment_images_processed, sirsc_image_file_deleted, sirsc_image_processed, sirsc_custom_upload_rule, sirsc_computed_metadata_after_upload, sirsc_filter_remove_update_info, sirsc_filter_remove_top_info, sirsc_seo_file_renamed

Demo

License

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Version history

7.3.4 – Tested up to 6.4.1; backward compatibility with PHP 7.2.27 – fixed the uncaught argument count error; added a new filter for bypassing logs
7.3.3 – Adjusted the initial threshold to match better the portrait images; cleanup artefact images; fixed warnings for unidentified crop position
7.3.2 – Changed the path of the logs to use the uploads folder; fixed the final file name and output info for the forced original size
7.3.1 – Added extra random string to hashed log files names
7.3.0 – Tested up to 6.4; security updates – added the log index file and hashed log files names
7.2.5 – Fixed the error for WooCommerce product in Classic editor on site running Divi
7.2.4 – Tested up to 6.3.1; fixed log warnings for not writable folder; fixed the sub-size quality on upload; exposed all image sizes in the editor settings
7.2.3 – Fixed the option “bulk regenerate/cleanup execution starts from the most recent files” remaining auto selected
7.2.2 – Tested up to 6.3; minor styles updates
7.2.1 – Forced release to fix the previous deployment issue
7.2.0 – Tested up to 6.2.2; security updates – limited the special features to only admins; added WP-CLI commands extensive details to the FAQ section of the plugin readme; added the info, regenerate, and cleanup buttons in the select/upload media dialog; fixed some warnings when using the reset cleanup command
7.1.0 – Tested up to 6.2; added the option to disable the verbose tracer log; added the filter sirsc_keep_scaled; updated the exclude post types lists; updated the wp-cli regenerate command to be in sync with the “regenerate only missing files” and “regenerate/cleanup only featured images” settings from the bulk actions; updated the wp-cli commands description, synopsis, and options details; fixed the admin menu overlay
7.0.1 – Fixed warnings when the initial metadata is incorrect (missing width or height) and bypass summary, fixed the SVGs preview in admin listing
7.0.0 – Tested up to 6.1.1, WP 6.1.1/PHP 8/WooCommerce compatibility updates, added the custom images sizes to the editor images sizes, small performance optimization for the custom advanced rules hook, added custom rules for featured images, trace the matched rule, notification and top info filter, fixed the mime type warning on SVG upload, dependencies/translations/styles updates
6.2.2 – Tested up to 5.9.2, fixed crop typo, bypass placeholder for no width or height, excluded new core post types
6.2.1 – Tested up to 5.9, clear attachment cache before re-computing the object after the image regenerate
6.2.0 – Tested up to 5.8.2, placeholder fallback, change filter priority to apply earlier the available sizes, fix warnings for info not available in some of the core versions, fix warnings for estimated sizes missing width or height, attempt to bypass scaled size naming, updated sizes filter for backward compatibility, logs length limit, log the WP-CLI command executions, styles adjustments
6.1.0 – Tested up to 5.8.1, add wp-cli commands hints for the bulk features, the new wp-cli command to rename files for SEO adon active, a new option that turns on/off the buttons from the media screen when switched to grid mode.
6.0.3 – Implemented a save fallback for media settings, updated the media settings UI, default bulk action in reverse for new installs
6.0.2 – Add back action when attachment gets deleted
6.0.1 – Fix medium large crop option update, added the close icon to the info lightbox, style adjustments for the enabled custom rules, fix cleanup button class typo
6.0.0 – Tested up to 5.8, general settings UI changes, new reset settings feature, new option to bulk regenerate/cleanup execution starting from the most recent files, new option to turn on the custom debug log, new option to execute bulk actions using the WordPress cron tasks, new debug tab, expose the custom placeholders, fix the counters, optimized the info lightbox, decouple image size file deletion for multiple matched images sizes, auto-update preview, added buttons in the media library view in the grid mode, fix assets enqueue for >= 5.6, completely decoupled from jQuery
5.5 – Tested up to 5.5.1, added export image sizes snippet, added image metadata fallback if missing
5.4.4 – Tested up to 5.5, fix warnings, placeholder path and font, a summary update on sub-size change, change the threshold default quality on forced original, assets update
5.4.3 – Tested up to 5.4.2, regenerate/cleanup only featured images, fix the deprecated array and string offset for PHP >= 7.4
5.4.2 – Added raw cleanup button and the option to display the summary in the media listing screen, style updates for small resolutions.
5.4.1 – Fixed the upscale for a square image
5.4 – Tested up to 5.4, upscale option for the perfect fit crop.
5.3.5 – Added more details about the removed files in the image details lightbox, keep plugin settings after deactivation, and fix errors when also using the WP Offload Media plugin.
5.3.4 – Fix warnings for previously missing settings.
5.3.3 – Forced expose the image sizes for the attachment display settings in the media dialog.
5.3.2 – Regenerate only missing files, clean up log, fix the crop position issue when using with WooCommerce, fix the raw cleanup, and fix ghost image sizes.
5.3.1 – Tested up to 5.3.2, new hook for integration with EWWW Image Optimizer plugin.
5.3 – Tested up to 5.3, overridden the featured image size in the meta box, fix the attachment display settings size options in the media screens, and custom hooks for other plugins integration.
5.2.1 – Bypass the fallback to original metadata, fix the crop option save, small buttons when using Gutenberg, new screenshots
5.2 – Tested up to 5.3-RC2, integration with EWWW Image Optimizer, save general setting without refresh, reset to default quality, new action hooks, show small buttons, two new cleanup options, define DOING_SIRSC, attempt to regenerate metadata and sub-sizes, attempts to fix the broken metadata, extra details in the image details lightbox.
5.0.1 – Fix notifications loaded too soon.
5.0 – Features direct access from the main menu, separate current features, new option to turn off/on the WooCommerce background thumbnails regenerate, new option to resume the regenerate process, support for the new extensions: Import/Export, Images SEO, Uploads Folder Info, Uploads Inspector.
4.8 – Tested up to 5.2.2 version, assess and capture background errors, support for future WooCommerce product gallery hook, new unavailable option, new option to disable generation of imperfect match image sizes, styles update, toggle the cleanup button, regenerate log, error and success info, simplified paths, minor speed-up of bulk processing, hide by default the info and regenerate buttons when using Gutenberg and no image set.
4.7.4 – Fix warnings for updating custom image sizes, tested up to 5.2 version.
4.7.3 – Fix the missing checkbox column in the media listing screen.
4.7.2 – Added custom image sizes in the Attachment Display Settings > Size dropdown available in the native WordPress media screen.
4.7.1 – Added missing changes for scale quality.
4.7 – New custom column in media listing with the options to see details and regenerate, new option to set custom quality for images directly when regenerating from the details lightbox.
4.6.1 – Expose the native medium large hidden size, and add a delete option for generated images that are smaller than the expected size.
4.6 – Translation fix, added targeted delete option in the lightbox for each image size generated for an image, link the media settings in the plugin settings page.
4.5 – Tested up to 5.1.1 version, comment out the buttons’ action that is no longer necessary for WP >= 5.1.
4.4 – Tested up to 5.0.1 version, new settings for crop option of the native medium and large images, new options for registering custom image sizes from the UI, Gutenberg support for the featured image buttons that allow to see details and regenerate.
4.3 – Tested up to 4.9.8 version, new WP-CLI command and flags, configurable custom rules and new hook for more complex rules, links to the images from the info view, styling updates, translations
4.2.2 – Tested up to 4.9.2 version, added Imagick support and fallback for placeholders, added progress to WP-CLI commands
4.2.1 – Fix static warning, fix direct access to the wp-admin folder instead of login
4.2 – Tested up to 4.8.3 version, add the image quality option for each image size, display the quality settings and the file size in the image details overlay, preserve the selected crop position for the image size in the image details overlay, dix multisite warning on switching the blog when using the WP-CLI commands
4.1 – Tested up to 4.8 version, fix the missing button for 4.8 in the edit post screen
4.0 – Tested up to 4.6.1 version, update the image buttons to work with WP >= 4.6 new hooks parameters, changes for the image buttons backward compatibility (core versions less than 4.6)
3.3 – Tested up to 4.4.2 version, code cleanup, fix typo, fix element position in edit media screen
3.0 – Forced original resize for already uploaded images when using the regenerate option.
2.0 – Default crop configuration and WP-CLI extension.
1.0 – Prototype.

Custom Actions

If you want to display the custom buttons in your plugins, you can use the custom action with $attachmentId parameter as the image post->ID you want the button for. Usage example : do_action( ‘image_regenerate_select_crop_button’, $attachmentId );

Images Placeholders Developer Mode

This option allows you to display placeholders for front-side images called programmatically (that are not embedded in content with their src, but retrieved with the wp_get_attachment_image_src, and the other related WP native functions). If there is no placeholder set, then the default behavior would be to display the full-size image instead of the missing image size.
If you activate the “force global” option, all the images on the front side that are related to posts will be replaced with the placeholders that mention the image size required. This is useful for debugging, to quickly identify the image sizes used for each layout.
If you activate the “only missing images” option, all the images on the front side that are related to posts and do not have the requested image size generated will be replaced with the placeholders that mention the image size required. This is useful for showing smaller images instead of full-size images.

Global Ignore

This option allows you to exclude globally from the application some of the image sizes that are registered through various plugins and themes’ options, but you don’t need these in your application at all (these are just stored in your folders and database but not used). By excluding these, unnecessary image sizes will not be generated at all.

Hide Preview

This option allows you to exclude from the “Image Regenerate & Select Crop Settings” lightbox the details and options for the selected image sizes. This is useful when you want to restrict from other users the functionality of crop or resize for particular image sizes.

Force Original

This option means that the original image will be scaled to a max width or a max height specified by the image size you select. This might be useful if you do not use the original image in any of the layouts at the full-size, and this might save some storage space.
Leave “nothing selected” to keep the original image as what you upload.

Cleanup All

This option allows you to clean up all the image sizes you already have in the application but you don’t use these at all. Please be careful, once you click to remove the selected image size, the action is irreversible, the images generated will be deleted from your folders and database records.

Regenerate All

This option allows you to regenerate all the images for the selected sub-sizes. Please be careful, once you click to regenerate the selected image size, the action is irreversible, the images already generated will be overwritten.

Default Crop

This option allows you to set a default crop position for the images generated for a particular image suz-size. This default option will be used when you chose to regenerate an individual image or all of these and also when a new image is uploaded.

WP-CLI Usage

The available methods are “regenerate” and “cleanup”. The arguments for both methods are the site id (1 for a single site install, or if you are using the plugin in the multi-site environment then you should specify the site id), the post type (post, page, or one of your custom post types), image size name (thumbnail, medium, etc.).

However, if you do not know all the options you have you can simply start by running the command “sirsc regenerate 1” and for each argument that is not mentioned the plugin will present the list of available values.
If you want to regenerate the images for only one post, then the 4th argument can be passed and this should be the post ID.

So, for example, if I would want to regenerate just the thumbnails for a post with the ID = 7, my command would be

  • sirsc regenerate 1 post thumbnail 7

If I would want to regenerate just the medium images for a post with the id 7, my command would be

  • sirsc regenerate 1 post medium 7

You can regenerate all images sizes for all the pages like this:

  • sirsc regenerate 1 page all

Or, you can regenerate all images sizes for the page with the ID = 3 type like this:

  • sirsc regenerate 1 page all 3

The cleanup command works with the parameters exact order and types as the regenerate one.