{"id":128020,"date":"2020-09-09T22:12:34","date_gmt":"2020-09-09T22:12:34","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/fws-resize-on-demand\/"},"modified":"2025-10-14T22:37:18","modified_gmt":"2025-10-14T22:37:18","slug":"fws-resize-on-demand","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/fws-resize-on-demand\/","author":16970244,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.5.2","stable_tag":"trunk","tested":"6.8.5","requires":"4.8","requires_php":"7.0","requires_plugins":null,"header_name":"FWS Resize-On-Demand","header_author":"Miroslav Curcic","header_description":"On-demand image resizer for WordPress.","assets_banners_color":"","last_updated":"2025-10-14 22:37:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/fws-resize-on-demand","header_author_uri":"https:\/\/profiles.wordpress.org\/tekod","rating":0,"author_block_rating":0,"active_installs":20,"downloads":1778,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","changelog"],"tags":{"0.5.2.2":{"tag":"0.5.2.2","author":"tekod","date":"2025-10-14 22:37:18"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.5.2.2"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[163,2703,5729,20961,13213],"plugin_category":[50],"plugin_contributors":[169357],"plugin_business_model":[],"class_list":["post-128020","plugin","type-plugin","status-publish","hentry","plugin_tags-images","plugin_tags-resize","plugin_tags-resizer","plugin_tags-resizing","plugin_tags-smart","plugin_category-media","plugin_contributors-tekod","plugin_committers-tekod","plugin_support_reps-miroslavcurcic"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/fws-resize-on-demand.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin is solution for well known flaw in WordPress architecture:\nautomatic resizing uploaded images in each of registered media sizes.<\/p>\n\n<p>Although price of hosting space is low and we have gigabytes available that can be issue if you have dozen\n(or more) registered sizes and because of that your backup files became larger than 10Gb.\nSooner or later you will be in situation to download (or even worse - to upload) that backup file.<\/p>\n\n<p>Our analysis shows that vast majority of resized thumbnails are not used anywhere in website.\nFor typical theme with WooCommerce and additional 3 custom media sizes that percentage can be over 90%,\nwith 6 custom media sizes it is over 96% !!!<\/p>\n\n<p>Because of that developers are often uncomfortable with registering more media sizes trying to find\nsome workarounds or violating design to accommodate existing similar sizes.<\/p>\n\n<p>Purpose of this plugin is to eliminate that overhead and allow developer to register as many sizes as he needs.<\/p>\n\n<p>It will intercept uploading process to prevent creation of thumbnails and intercept getters<br \/>\n(wp_get_attachment_image_src(), get_the_post_thumbnail_url(), the_post_thumbnail(),...) to create thumbnail if needed.\nAdditionally, it will register in database each created thumbnail allowing WordPress to delete it automatically\nwhen parent image is deleted.<\/p>\n\n<h3>Usage<\/h3>\n\n<p>At \"Settings\" tab of this tool you can pick individually for which size you want to enable or disable this functionality.\nTypically, you will enable it for all sizes.<\/p>\n\n<p>Button \"Delete\" on \"Utilities\" tab will remove all thumbnails for sizes that are handled by this plugin.\nThat will significantly reduce size of your \"uploads\" directory allowing new thumbnails to be recreated on demand.<\/p>\n\n<p>Button \"Regenerate all thumbnails\" will remove existing and create new thumbnails for all your uploaded images.<\/p>\n\n<p>Video demonstration:<\/p>\n\n<p>[youtube https:\/\/www.youtube.com\/watch?v=hfbkbM-1dlY]<\/p>\n\n<h3>Contact<\/h3>\n\n<p>Please, send bug reports and feature requests to <a href=\"mailto:office@tekod.com\">office@tekod.com<\/a><\/p>\n\n<!--section=changelog-->\n<h4>0.5.0<\/h4>\n\n<p><em>Release Date - 24 August 2023<\/em><\/p>\n\n<ul>\n<li>New - Utility for regenerating thumbnails.<\/li>\n<li>New - Added setting for tweaking compression level of JPEG images, this can produce slightly lighter thumbnail files.<\/li>\n<li>Enhancement - Utility for delete all thumbnails now works via ajax, so you can track progress.<\/li>\n<li>Fix - Improved performances by preloading metadata.<\/li>\n<li>Fix - Support for SVG files now cover both image\/svg and image\/svg+xml mime types.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<p><em>Release Date - 11 October 2022<\/em><\/p>\n\n<ul>\n<li>Enhancement - Added internationalization to plugin. Created project at https:\/\/translate.wordpress.org\/ and translated to Serbian and Dutch.<\/li>\n<li>Fix - Improved performances while handling too small images.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<p><em>Release Date - 28 November 2021<\/em><\/p>\n\n<ul>\n<li>Enhancement - Added compatibility with \"Regenerate Thumbnails\" plugin. Thanks to <a href=\"https:\/\/github.com\/loilo\">Florian Reuschel<\/a>.<\/li>\n<li>Enhancement - Added compatibility with \"SVG Support\" plugin. Thanks to <a href=\"https:\/\/github.com\/loilo\">Florian Reuschel<\/a><\/li>\n<li>Enhancement - Added debug logging feature.<\/li>\n<li>Dev - Added filter \"fws_rod_avoid_mime_types\" to specify mime-types that have to be skipped by Utilities\/Delete feature.<\/li>\n<li>Dev - Added filter \"fws_rod_enable_sizes\" to configure plugin to handle specified image-sizes.<\/li>\n<li>Dev - Added filter \"fws_rod_disable_sizes\" to configure plugin to avoid handling specified image-sizes.<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<p><em>Release Date - 19 November 2021<\/em><\/p>\n\n<ul>\n<li>Fix - Fixed bug in handling core image sizes (thumbnail, medium, large).<\/li>\n<\/ul>","raw_excerpt":"Smart on-demand image resizer for WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/128020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=128020"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tekod"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=128020"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=128020"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=128020"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=128020"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=128020"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=128020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}