Come cancellare tutti i commenti segnalati come spam, cestinati o non approvati in una sola volta, senza doverli cancellare manualmente dal pannello amministrativo.
Quando il tuo blog viene attaccato dagli spammer e per qualche giorno non puoi moderare i commenti, ti ritroverai una quantità enorme di commenti che vanno a finire in “pending”, “spam” e “trash”.
A volte non è possibile cancellare tutti i commenti non approvati manualmente, o perchè sono veramente tanti (una centinaia o addirittura un migliaio) e quindi manualmente diventa stancante, oppure perchè potresti mandare il server in crisi!
Come cancellare i commenti che non sono etichettati come “approvati” in una sola volta?
Per prima cosa, ti consiglio di fare un backup del database per precauzione, così se qualcosa ti dovesse andare storto, potrai sempre ripristinare tutto.
Adesso accedi al panello di phpmyadmin e clicca su SQL. Si aprirà una finestrella in cui potrai inserire ed eseguire la seguente query (se non puoi accedere a phpmyadmin, puoi eseguire la query tramite uno script php):
Per cancellare i commenti “non approvati”:
DELETE FROM wp_comments WHERE comment_approved = "0"
Per cancellare i commenti “spam”:
DELETE FROM wp_comments WHERE comment_approved = "spam"
Per cancellare i commenti “trash”:
DELETE FROM wp_comments WHERE comment_approved = "trash"
Infatti “0” sono i commenti non approvati, “1” i commenti approvati, “trash” i commenti finiti nel cestino e “spam” i commenti segnalati come spam.
Adesso ottimizziamo la tabella wp_comments, eseguendo la query sempre dal phpmyadmin:
OPTIMIZE TABLE wp_comments;
Una volta ottimizzato la tabella, troverete che la dimensione della singola tabella e quindi in generale di tutto il database, sia diminuita notevolemente.