Delete All Pingbacks and Trackbacks
Run on demand to permanently delete every pingback and trackback stored as a comment, which on older blogs are often thousands of spammy rows nobody reads.
Opens WPIDE on
Code
global $wpdb;
$wpide_ids = $wpdb->get_col( "SELECT comment_ID FROM {$wpdb->comments} WHERE comment_type IN ('pingback','trackback') LIMIT 5000" );
$wpide_deleted = 0;
foreach ( $wpide_ids as $wpide_id ) {
if ( wp_delete_comment( (int) $wpide_id, true ) ) {
$wpide_deleted++;
}
}
printf( 'Deleted %d pingback(s) and trackback(s).%s', $wpide_deleted, count( $wpide_ids ) === 5000 ? ' Run again to delete more.' : '' );
Notes
Run it from the snippet editor; pair it with a snippet that disables pingbacks so new ones do not arrive.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.