Wordpress - How do I programatically empty trash?

You can use wp_delete_post.

To get all posts with the "trash" status:

$trash = get_posts('post_status=trash&numberposts=-1');

Then:

foreach($trash as $post)
  wp_delete_post($post->ID, $bypass_trash = true);

This didn't work for me. I had to do the following:

$args = array(
'posts_per_page'   => -1,
'post_status'      => 'trash'
    );

$trash = get_posts($args);

foreach($trash as $post)
{
    wp_delete_post($post->ID, true);      
}

Tags:

Trash

Buttons