• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

I Like Kill Nerds

The blog of Australian Front End / Aurelia Javascript Developer & brewing aficionado Dwayne Charrington // Aurelia.io Core Team member.

  • Home
  • Aurelia 2
  • Aurelia 1
  • About
  • Aurelia 2 Consulting/Freelance Work

The Most Efficient Way to Bulk Delete Things in WordPress

Wordpress · October 7, 2021

What is the most efficient way to delete thousands of posts, custom post types, media attachments and other things in WordPress? The answer is: not through the admin panel.

If you have ever tried deleting a couple of hundred (or so) items from the WordPress admin panel before, then you would know if the request doesn’t timeout, you’ve won the WordPress lottery. And, if it does timeout, you have to keep spamming the refresh button until it works.

There is a better way. The WP CLI is often overlooked, but it’s invaluable for managing large amounts of data in a WordPress site. In my case, I had about 15,000 broken image attachment references and 6000 custom post type posts to remove.

By calling the wp delete command and passing in a sub-call to post list, we can get the ID’s of every post of any type and then delete. We use the --force flag to tell WordPress to permanently delete them and not just send them to the trash.

wp post delete $(wp post list --post_type='my_post_type' --format=ids) --force

The most remarkable thing of all? WordPress media items are just posts of type attachment so, if you want to remove all attachments, you can do this:

wp post delete $(wp post list --post_type='attachment' --format=ids) --force

The WP CLI is invaluable to level up your WordPress workflow and development. I highly recommend you leverage it, especially for heavy tasks where plugins and the UI can’t handle it.

Dwayne

Leave a Reply Cancel reply

0 Comments
Inline Feedbacks
View all comments

Primary Sidebar

Popular

  • How To Get The Hash of A File In Node.js
  • Testing Event Listeners In Jest (Without Using A Library)
  • Which Neural DSP Archetype Plugins Should You Buy?
  • Smoke Detector Randomly Goes Off Early Hours of The Morning
  • How to Fast Launch Microsoft Flight Simulator 2020 (decrease game loading time)
  • How to Copy Files Using the Copy Webpack Plugin (without copying the entire folder structure)
  • A review of the Neural DSP Quad Cortex: is this the future of amp-modelling?
  • NBN Box Installed Inside of Garage, Where Do You Put The Modem?
  • How To Mock uuid In Jest
  • Convert A Firebase Database Snapshot/Collection To An Array In Javascript

Recent Comments

  • Thebe on How to Remove the My Sites Menu From the WordPress Admin Bar
  • Maccas worker jn the 2000s on Dear McDonald’s: bring back the Warm Cookie Sundae, you cowards
  • Anamika Singh on Testing Event Listeners In Jest (Without Using A Library)
  • Stefan on A List of WordPress Gutenberg Core Blocks
  • pandammonium on A List of WordPress Gutenberg Core Blocks

Copyright © 2022 · Dwayne Charrington · Log in

wpDiscuz