{"id":294131,"date":"2026-04-08T11:37:59","date_gmt":"2026-04-08T11:37:59","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bulk-image-rotator\/"},"modified":"2026-04-08T15:35:37","modified_gmt":"2026-04-08T15:35:37","slug":"spinex-bulk-image-rotator","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/spinex-bulk-image-rotator\/","author":23471829,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.5","requires_php":"7.4","requires_plugins":null,"header_name":"Spinex Bulk Image Rotator","header_author":"Andrei Ghi\u021ban","header_description":"Rotate multiple images at once directly from the Media Library. Select images in bulk, then rotate 90\u00b0 clockwise or counter-clockwise. Overwrites originals and regenerates all thumbnail sizes.","assets_banners_color":"000a25","last_updated":"2026-04-08 15:35:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/spinex-bulk-image-rotator\/","header_author_uri":"https:\/\/dffkt.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":47,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"dffkt432hz","date":"2026-04-08 15:35:37"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3501605,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3501605,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3501605,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3501605,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-01.jpg":{"filename":"screenshot-01.jpg","revision":3501605,"resolution":"1","location":"assets","locale":""},"screenshot-02.jpg":{"filename":"screenshot-02.jpg","revision":3501605,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Rotate CW and Rotate CCW buttons appear greyed out when no images are selected","2":"Once bulk select is active and at least one image is selected, both buttons become active"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3236,163,1980,84,755],"plugin_category":[50],"plugin_contributors":[259720],"plugin_business_model":[],"class_list":["post-294131","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk","plugin_tags-images","plugin_tags-library","plugin_tags-media","plugin_tags-rotate","plugin_category-media","plugin_contributors-dffkt432hz","plugin_committers-dffkt432hz"],"banners":{"banner":"https:\/\/ps.w.org\/spinex-bulk-image-rotator\/assets\/banner-772x250.jpg?rev=3501605","banner_2x":"https:\/\/ps.w.org\/spinex-bulk-image-rotator\/assets\/banner-1544x500.jpg?rev=3501605","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/spinex-bulk-image-rotator\/assets\/icon-128x128.png?rev=3501605","icon_2x":"https:\/\/ps.w.org\/spinex-bulk-image-rotator\/assets\/icon-256x256.png?rev=3501605","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/spinex-bulk-image-rotator\/assets\/screenshot-01.jpg?rev=3501605","caption":"Rotate CW and Rotate CCW buttons appear greyed out when no images are selected"},{"src":"https:\/\/ps.w.org\/spinex-bulk-image-rotator\/assets\/screenshot-02.jpg?rev=3501605","caption":"Once bulk select is active and at least one image is selected, both buttons become active"}],"raw_content":"<!--section=description-->\n<p><strong>Spinex Bulk Image Rotator<\/strong> adds Rotate CW and Rotate CCW buttons directly into the Media Library bulk-select toolbar. Select any number of images and rotate them all at once \u2014 no page reloads, no third-party services.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Rotate images 90\u00b0 clockwise or counter-clockwise<\/li>\n<li>Works with WordPress native bulk select \u2014 no custom UI to learn<\/li>\n<li>Handles large selections safely by batching requests (20 images per request)<\/li>\n<li>Overwrites originals and automatically regenerates all registered thumbnail sizes<\/li>\n<li>Deselects and refreshes thumbnails in the grid immediately after rotation<\/li>\n<li>Buttons are greyed out until at least one image is selected<\/li>\n<li>No settings page, no database entries, no bloat<\/li>\n<li>Translation-ready<\/li>\n<\/ul>\n\n<h4>How to use<\/h4>\n\n<ol>\n<li>Go to <strong>Media \u2192 Library<\/strong> and make sure you are in Grid view<\/li>\n<li>Click <strong>Bulk Select<\/strong><\/li>\n<li>Select the images you want to rotate<\/li>\n<li>Click <strong>Rotate CW<\/strong> or <strong>Rotate CCW<\/strong> in the toolbar<\/li>\n<li>Done \u2014 thumbnails refresh automatically<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.5 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>GD or Imagick PHP extension (standard on all major hosts)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>spinex-bulk-image-rotator<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through <strong>Plugins \u2192 Installed Plugins<\/strong><\/li>\n<li>Go to <strong>Media \u2192 Library<\/strong>, enter bulk select mode, and rotate away<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20overwrite%20my%20original%20images%3F\"><h3>Does it overwrite my original images?<\/h3><\/dt>\n<dd><p>Yes. The plugin rotates and saves over the original file, then regenerates all thumbnails. Make a backup if the originals are critical.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20select%20non-image%20files%3F\"><h3>What happens if I select non-image files?<\/h3><\/dt>\n<dd><p>They are silently skipped. Only image\/* MIME types are processed.<\/p><\/dd>\n<dt id=\"what%20if%20rotation%20fails%20on%20some%20images%3F\"><h3>What if rotation fails on some images?<\/h3><\/dt>\n<dd><p>The toolbar shows a count of how many succeeded and how many failed. Failed images are left untouched.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20very%20large%20selections%3F\"><h3>Does it work with very large selections?<\/h3><\/dt>\n<dd><p>Yes. Images are sent to the server in batches of 20 to avoid PHP timeouts. You can select hundreds of images and the plugin processes them sequentially.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Rotate multiple images at once directly from the WordPress Media Library.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/294131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=294131"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dffkt432hz"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=294131"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=294131"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=294131"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=294131"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=294131"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=294131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}