Bulk löschen WordPress Posts mit phpMyAdmin

Ich habe über 8.000 Posts, die von wp-o-matic generiert wurden, und ich möchte sie alle loswerden.

Ich möchte diese Abfrage in phpMyAdmin ausführen. Ich möchte nur sicherstellen, dass es sicher läuft und meine Seiten nicht gelöscht werden. Dies ist die Abfrage:

DELETE FROM 'wp_posts' WHERE 'post_type' = 'post' 

Vielen Dank

Solutions Collecting From Web of "Bulk löschen WordPress Posts mit phpMyAdmin"

Der Beitritt ist nicht so komplex, aber ich würde mich nicht darum kümmern. Da Sie viel haben, um eine direkte SQL-Abfrage zu entfernen, wird viel schneller als WP ausgeführt.

Wir müssen jedoch die Post-ID-Nummern verfolgen und die Nachkommen und Metadaten entfernen.

Nicht getestet / Machen Sie ein Backup / Ihr Risiko etc. etc.

 create temporary table `cull` (`post` int); insert into cull select ID from wp_posts where my_criteria = 'my value'; delete from wp_posts where ID in ( select post from cull ); delete from wp_posts where post_parent in ( select post from cull ); -- done with temp table, cleanup metadata delete from wp_postmeta where post_id not in ( select ID from wp_posts ); delete from wp_comments where comment_post_id not in ( select ID from wp_posts ); delete from wp_commentmeta where comment_id not in ( select comment_ID from wp_comments ); delete from wp_term_relationships where object_id not in ( select ID from wp_posts ); 

Versuchen Sie nicht, dies mit SQL zu tun. Es gibt Post-Informationen sind mehrere Tabellen. Sie werden verwaiste Daten in der database erhalten. Während es möglich ist, die JOIN s zu schreiben, müssten Sie alles löschen, aber SQL könnte komplex sein.

Erstellen Sie einen einfachen Loop und verwenden Sie den Core, um Ihre Posts zu löschen .

 $args = array( 'post_type' => 'post', 'ignore_sticky_posts' => true, ); $del = new WP_Query( $args ); while ($del->have_posts()) { $del->the_post(); wp_delete_post( $post->ID, false ); } 

Setzen Sie das zweite Argument für wp_delete_post() auf ” true , um den “Papierkorb” zu umgehen, und gehen Sie direkt zu “permanent, unwiederbringlich weg”.