How to delete comments in WordPress using wp_delete_comment

The wp_delete_comment function is a feature of WordPress that allows the deletion of a comment from the WordPress database. This function can be utilized to manage and control the comments on a WordPress site. It can be used to remove unwanted, inappropriate or irrelevant comments, thereby maintaining the quality and relevance of the discussions on the site.

It should be noted that this function does more than just remove the comment from the visible site. It also deletes the comment meta-data associated with the comment being deleted, ensuring a clean and thorough removal.

When the wp_delete_comment function is executed, it can either move the comment to trash, if the trash system is enabled, or permanently delete the comment from the database. This provides some flexibility depending on whether the user wants to permanently remove the comment or have the option to restore it from the trash at a later time.

It’s important to be aware that once a comment is permanently deleted using this function, it cannot be restored. Therefore, caution should be exercised when using the wp_delete_comment function to permanently delete comments.

Parameters of the wp_delete_comment Function

The wp_delete_comment function in WordPress accepts two parameters as inputs:

  • $comment_id(intWP_Comment): This is a required parameter. It represents the ID of the comment or the WP_Comment object that you want to delete.
  • $force_delete(bool): This is an optional parameter. By default, its value is set to false. This parameter determines whether the comment should be deleted immediately, bypassing the Trash.

Return Value of the wp_delete_comment Function

The wp_delete_comment function returns a boolean value. If the comment is successfully deleted, the function will return true. If the deletion fails, the function will return false.

If the function does not accept any parameters, it will be clearly stated in the function’s documentation. However, in the case of the wp_delete_comment function, it does accept parameters as stated above.


How to Delete a Comment by ID

$comment_id = 123; // Replace with your comment ID
$result = wp_delete_comment($comment_id, true);
if($result) {
 echo "<p>Comment deleted successfully.</p>";
} else {
 echo "<p>Failed to delete comment.</p>";

This code snippet demonstrates how to delete a comment by its ID using the wp_delete_comment function. The function takes two parameters: the ID of the comment to be deleted and a boolean indicating whether the comment should be trashed or permanently deleted. In this case, we are permanently deleting the comment. The function returns a boolean indicating whether the operation was successful or not.

How to Move a Comment to the Trash

$comment_id = 123; // Replace with your comment ID
$result = wp_delete_comment($comment_id, false);
if($result) {
 echo "<p>Comment moved to trash successfully.</p>";
} else {
 echo "<p>Failed to move comment to trash.</p>";

This code snippet shows how to move a comment to the trash instead of permanently deleting it. The second parameter of the wp_delete_comment function is set to false, which means the comment will be moved to the trash instead of being permanently deleted.

How to Delete All Comments from a Specific Post

$post_id = 456; // Replace with your post ID
$comments = get_comments(array('post_id' => $post_id));
foreach($comments as $comment) {
 wp_delete_comment($comment->comment_ID, true);
echo "<p>All comments from the specified post have been deleted.</p>";

In this example, we are deleting all comments from a specific post. First, we obtain all comments from the post using the get_comments function. Then, we loop through each comment and delete it using the wp_delete_comment function.


The wp_delete_comment function in WordPress serves as a tool for developers to programmatically remove comments from the WordPress database. It can be utilized in different scenarios, such as for the purpose of cleaning up spam comments, or for removing comments that do not adhere to a website’s rules and guidelines. This function provides an automated way to manage the plethora of user-generated content that can accumulate on a WordPress site, thereby aiding in the maintenance and moderation of a healthy and constructive discussion environment.

Related WordPress Functions