- wp_delete_comment( $comment->comment_ID );
-
- if ( '' != wp_get_referer() && false == $noredir && false === strpos(wp_get_referer(), 'comment.php' ) )
- wp_redirect( wp_get_referer() );
- else if ( '' != wp_get_original_referer() && false == $noredir )
- wp_redirect( wp_get_original_referer() );
- else
- wp_redirect( admin_url('edit-comments.php') );
+ $redir = admin_url('edit-comments.php');
+
+ $redir = remove_query_arg( array('spammed', 'unspammed', 'trashed', 'untrashed', 'deleted', 'ids'), $redir );
+
+ switch ( $action ) {
+ case 'deletecomment' :
+ wp_delete_comment( $comment_id );
+ $redir = add_query_arg( array('deleted' => '1'), $redir );
+ break;
+ case 'trashcomment' :
+ wp_trash_comment($comment_id);
+ $redir = add_query_arg( array('trashed' => '1', 'ids' => $comment_id), $redir );
+ break;
+ case 'untrashcomment' :
+ wp_untrash_comment($comment_id);
+ $redir = add_query_arg( array('untrashed' => '1'), $redir );
+ break;
+ case 'spamcomment' :
+ wp_spam_comment($comment_id);
+ $redir = add_query_arg( array('spammed' => '1', 'ids' => $comment_id), $redir );
+ break;
+ case 'unspamcomment' :
+ wp_unspam_comment($comment_id);
+ $redir = add_query_arg( array('unspammed' => '1'), $redir );
+ break;
+ }
+
+ wp_redirect( $redir );