Como esvazio programaticamente o lixo?

10

Preciso criar um botão "Empty Trash" dentro do meu plugin. Como eu faria isso usando o código PHP?

Ciprian
fonte

Respostas:

9

Você pode usar wp_delete_post.

Para obter todas as postagens com o status "lixeira":

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

Então:

foreach($trash as $post)
  wp_delete_post($post->ID, $bypass_trash = true);
onetrickpony
fonte
Felicidades! Funciona!
Ciprian
1

Isso não funcionou para mim. Eu tive que fazer o seguinte:

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

$trash = get_posts($args);

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