WordPress Version: 5.9
/**
* Moves a comment to the Trash
*
* If Trash is disabled, comment is permanently deleted.
*
* @since 2.9.0
*
* @param int|WP_Comment $comment_id Comment ID or WP_Comment object.
* @return bool True on success, false on failure.
*/
function wp_trash_comment($comment_id)
{
if (!EMPTY_TRASH_DAYS) {
return wp_delete_comment($comment_id, true);
}
$comment = get_comment($comment_id);
if (!$comment) {
return false;
}
/**
* Fires immediately before a comment is sent to the Trash.
*
* @since 2.9.0
* @since 4.9.0 Added the `$comment` parameter.
*
* @param string $comment_id The comment ID as a numeric string.
* @param WP_Comment $comment The comment to be trashed.
*/
do_action('trash_comment', $comment->comment_ID, $comment);
if (wp_set_comment_status($comment, 'trash')) {
delete_comment_meta($comment->comment_ID, '_wp_trash_meta_status');
delete_comment_meta($comment->comment_ID, '_wp_trash_meta_time');
add_comment_meta($comment->comment_ID, '_wp_trash_meta_status', $comment->comment_approved);
add_comment_meta($comment->comment_ID, '_wp_trash_meta_time', time());
/**
* Fires immediately after a comment is sent to Trash.
*
* @since 2.9.0
* @since 4.9.0 Added the `$comment` parameter.
*
* @param string $comment_id The comment ID as a numeric string.
* @param WP_Comment $comment The trashed comment.
*/
do_action('trashed_comment', $comment->comment_ID, $comment);
return true;
}
return false;
}