WordPress Version: 6.1
/**
* Marks a comment as Spam.
*
* @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_spam_comment($comment_id)
{
$comment = get_comment($comment_id);
if (!$comment) {
return false;
}
/**
* Fires immediately before a comment is marked as Spam.
*
* @since 2.9.0
* @since 4.9.0 Added the `$comment` parameter.
*
* @param int $comment_id The comment ID.
* @param WP_Comment $comment The comment to be marked as spam.
*/
do_action('spam_comment', $comment->comment_ID, $comment);
if (wp_set_comment_status($comment, 'spam')) {
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 marked as Spam.
*
* @since 2.9.0
* @since 4.9.0 Added the `$comment` parameter.
*
* @param int $comment_id The comment ID.
* @param WP_Comment $comment The comment marked as spam.
*/
do_action('spammed_comment', $comment->comment_ID, $comment);
return true;
}
return false;
}