Uses wp_cron to delete comments each day that are marked "spam" in the database.
This plugin schedules a daily event using wp_cron that deletes all comments marked “spam” in the database, then optimizes the comments table.
Brief reason why I made such a low-tech plugin:
Akismet catches all the spam, but when I was looking at the size of my backups one day,
I noticed that there were large numbers of comment spam across several sites that were undeleted and they
made the databases fairly large. So I setup a cron job on my server that deletes the spam.
Since I had never written a plugin, I thought this might be helpful for those who do not have
a dedicated server, shell access to their site, or the knowledge of (or interest in ) cron to set this up.
Spam is not deleted until you start the schedule after the plugin is activated. I created buttons
to start and stop the schedule if you need that layer of control. There is also a button for deleting all spam manually.
delete-spam-daily
folder to the /wp-content/plugins/
directoryThe first time you start the schedule, spam gets deleted.
Subsequent spam will be scheduled to delete every 24 hours after the first activation.
No. The cron job is cleared upon deactivation.
wp_comments
table after spam is deleted. Updated DB call to allow for alternate wordpress table prefix. add_action
was added to the “Delete Spam Daily” button so it would actually delete spam once a day. 🙂 In addition to a “Stop Deleting Spam” button, a button was added that reschedules the cron to happen in 1 minute so you can be sure your crons are working right away.