{"id":293214,"date":"2026-05-21T09:19:12","date_gmt":"2026-05-21T09:19:12","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wpwoo-bulk-delete\/"},"modified":"2026-05-21T09:09:52","modified_gmt":"2026-05-21T09:09:52","slug":"bulksweep-bulk-deleter","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bulksweep-bulk-deleter\/","author":23460291,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"BulkSweep \u2013 Bulk Deleter","header_author":"RabbyItFirm","header_description":"Single & bulk delete for WooCommerce orders, products, customers, posts, pages, media, comments and more. Fast, safe, with filters, dry-run preview and activity log.","assets_banners_color":"","last_updated":"2026-05-21 09:09:52","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/rabbyitfirm.com\/","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/bulksweep\/","header_author_uri":"https:\/\/profiles.wordpress.org\/rabbyitfirm\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":64,"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":"rabbyitfirm","date":"2026-05-21 09:09:52"},"1.0.1":{"tag":"1.0.1","author":"rabbyitfirm","date":"2026-05-21 09:05:58"}},"upgrade_notice":{"1.0.0":"<p>Initial release. Always backup your database before performing bulk deletions.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Main panel with entity type selector and filter options","2":"Dry Run mode showing count preview before deletion","3":"Specific ID mode for surgical deletion of individual items","4":"Activity log showing all past deletion operations","5":"Settings page with batch size configuration"}},"plugin_section":[],"plugin_tags":[14810,7619,16281,702,286],"plugin_category":[45],"plugin_contributors":[263801],"plugin_business_model":[],"class_list":["post-293214","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-delete","plugin_tags-customers","plugin_tags-orders","plugin_tags-products","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-rabbyitfirm","plugin_committers-rabbyitfirm"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/bulksweep-bulk-deleter.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>BulkSweep<\/strong> is a fast, safe, and easy-to-use admin tool that lets you delete any WordPress or WooCommerce data in bulk \u2014 with smart filters, a live count preview, dry-run mode, batch processing, and a full activity log.<\/p>\n\n<h4>Supported Entity Types<\/h4>\n\n<p><strong>WooCommerce (requires WooCommerce)<\/strong><\/p>\n\n<ul>\n<li>Orders \u2014 filter by status and date range<\/li>\n<li>Products \u2014 filter by status and date<\/li>\n<li>Customers \u2014 filter by date range (role: customer\/subscriber)<\/li>\n<li>Coupons \u2014 bulk remove discount codes<\/li>\n<li>Product Reviews<\/li>\n<\/ul>\n\n<p><strong>WordPress Core<\/strong><\/p>\n\n<ul>\n<li>Posts \u2014 filter by status and date<\/li>\n<li>Pages \u2014 filter by status and date<\/li>\n<li>Media \/ Attachments \u2014 removes files from disk too<\/li>\n<li>Comments \u2014 filter by status and type (comment, pingback, trackback)<\/li>\n<li>Users (non-admin) \u2014 administrators are always protected<\/li>\n<li>Terms &amp; Taxonomies \u2014 categories, tags, product attributes<\/li>\n<\/ul>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Filter-Based Bulk Delete<\/strong> \u2014 target items by status, date range, taxonomy and more<\/li>\n<li><strong>Specific ID Mode<\/strong> \u2014 paste a list of IDs for surgical single or multi-item deletion<\/li>\n<li><strong>Dry Run Mode<\/strong> \u2014 preview exactly what would be deleted without deleting anything<\/li>\n<li><strong>Live Preview Count<\/strong> \u2014 see how many items match your filters before you act<\/li>\n<li><strong>Batch Processing<\/strong> \u2014 configurable batch limit prevents PHP timeouts on large sites<\/li>\n<li><strong>Force Delete or Trash<\/strong> \u2014 choose permanent deletion or move to trash<\/li>\n<li><strong>Double Confirmation<\/strong> \u2014 checkbox + JS confirm dialog prevents accidents<\/li>\n<li><strong>Activity Log<\/strong> \u2014 every operation logged with user, type, count and timestamp (last 200 entries)<\/li>\n<li><strong>WooCommerce Detection<\/strong> \u2014 WC entity types are automatically disabled if WooCommerce is not active<\/li>\n<li><strong>Admin-protected<\/strong> \u2014 administrators and the currently logged-in user are always safe<\/li>\n<li><strong>Translation Ready<\/strong> \u2014 all strings wrapped in i18n functions<\/li>\n<\/ul>\n\n<h4>How to Use<\/h4>\n\n<ol>\n<li>Go to <strong>BulkSweep<\/strong> in the WordPress admin sidebar<\/li>\n<li>Choose a data type from the left panel<\/li>\n<li>Set your filters (status, date range, etc.)<\/li>\n<li>Click <strong>Preview Count<\/strong> to see how many items match<\/li>\n<li>Enable <strong>Dry Run<\/strong> to simulate without deleting (recommended for first run)<\/li>\n<li>Check the confirmation checkbox and click <strong>Delete Now<\/strong><\/li>\n<\/ol>\n\n<h4>Safety Recommendations<\/h4>\n\n<ul>\n<li>Always take a full database backup before running bulk deletions<\/li>\n<li>Use <strong>Dry Run<\/strong> first to verify the count is what you expect<\/li>\n<li>Start with a small batch size (50\u2013100) on shared hosting<\/li>\n<li>Check the <strong>Activity Log<\/strong> after each run<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>bulksweep<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress Admin<\/li>\n<li>Go to <strong>BulkSweep<\/strong> in the admin sidebar<\/li>\n<li>Select a data type and configure your filters<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20undo%20a%20bulk%20deletion%3F\"><h3>Can I undo a bulk deletion?<\/h3><\/dt>\n<dd><p>If <strong>Force Delete<\/strong> is turned off, items are moved to trash and can be restored. With Force Delete enabled, deletion is permanent and cannot be undone. We strongly recommend taking a database backup first.<\/p><\/dd>\n<dt id=\"will%20it%20ever%20delete%20administrator%20accounts%3F\"><h3>Will it ever delete administrator accounts?<\/h3><\/dt>\n<dd><p>No. Administrators and the currently logged-in user are always protected and will never be deleted, regardless of filters.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20have%2050%2C000%20orders%20to%20delete%3F\"><h3>What happens if I have 50,000 orders to delete?<\/h3><\/dt>\n<dd><p>The batch limit (configurable in Settings, default 100) means only 100 items are deleted per request. Run the deletion multiple times until the Preview Count shows 0. This prevents PHP timeouts on shared hosting.<\/p><\/dd>\n<dt id=\"does%20it%20work%20without%20woocommerce%3F\"><h3>Does it work without WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. If WooCommerce is not active, WooCommerce-specific entity types (orders, products, customers, coupons, reviews) are automatically disabled. All WordPress-native types work without WooCommerce.<\/p><\/dd>\n<dt id=\"is%20it%20translation%20ready%3F\"><h3>Is it translation ready?<\/h3><\/dt>\n<dd><p>Yes. All user-facing strings are wrapped in standard WordPress i18n functions and the text domain is <code>bulksweep<\/code>.<\/p><\/dd>\n<dt id=\"what%20does%20dry%20run%20do%3F\"><h3>What does Dry Run do?<\/h3><\/dt>\n<dd><p>Dry Run shows you how many items would be deleted by your current filters without actually deleting anything. It respects the batch limit. Use it to verify your filters are correct before committing to a real deletion.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release \u2014 renamed to BulkSweep<\/li>\n<li>Fixed: Orders date range filter was overwriting itself when both date&#095;from and date&#095;to were set<\/li>\n<li>Fixed: Media (attachment) post&#095;status now correctly defaults to 'inherit'<\/li>\n<li>Fixed: PHP notice \u2014 esc&#095;html() was incorrectly wrapping an integer inside printf()<\/li>\n<li>Fixed: $saved variable was undefined on first settings page load<\/li>\n<li>Fixed: Dry-run and Delete Now button labels are now fully translatable<\/li>\n<li>Fixed: Clear Log confirmation string is now translatable<\/li>\n<li>Fixed: Admin JS asset hook suffixes now match correct menu slug<\/li>\n<li>Support for 11 entity types (5 WooCommerce, 6 WordPress core)<\/li>\n<li>Filter-based and specific-ID deletion modes<\/li>\n<li>Dry Run mode (no-op preview)<\/li>\n<li>Live preview count<\/li>\n<li>Batch processing with configurable limit<\/li>\n<li>Activity log (last 200 entries)<\/li>\n<li>Force delete \/ trash option<\/li>\n<li>Double confirmation gate<\/li>\n<li>Full i18n \/ translation ready<\/li>\n<li>uninstall.php for clean removal<\/li>\n<\/ul>","raw_excerpt":"Bulk delete WooCommerce orders, products, customers, posts, pages, media, comments and more \u2014 with filters, dry-run preview and activity log.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/293214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=293214"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rabbyitfirm"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=293214"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=293214"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=293214"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=293214"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=293214"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=293214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}