wp_trash_comment

The timeline below displays how wordpress function wp_trash_comment has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

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;
}

WordPress Version: 5.4

/**
 * 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 int        $comment_id The comment ID.
     * @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 int        $comment_id The comment ID.
         * @param WP_Comment $comment    The trashed comment.
         */
        do_action('trashed_comment', $comment->comment_ID, $comment);
        return true;
    }
    return false;
}

WordPress Version: 5.3

/**
 * 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 int        $comment_id The comment ID.
     * @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 int        $comment_id The comment ID.
         * @param WP_Comment $comment    The trashed comment.
         */
        do_action('trashed_comment', $comment->comment_ID, $comment);
        return true;
    }
    return false;
}

WordPress Version: 4.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);
    }
    if (!$comment = get_comment($comment_id)) {
        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 int        $comment_id The comment ID.
     * @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 int        $comment_id The comment ID.
         * @param WP_Comment $comment    The trashed comment.
         */
        do_action('trashed_comment', $comment->comment_ID, $comment);
        return true;
    }
    return false;
}

WordPress Version: 4.4

/**
 * 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);
    }
    if (!$comment = get_comment($comment_id)) {
        return false;
    }
    /**
     * Fires immediately before a comment is sent to the Trash.
     *
     * @since 2.9.0
     *
     * @param int $comment_id The comment ID.
     */
    do_action('trash_comment', $comment->comment_ID);
    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
         *
         * @param int $comment_id The comment ID.
         */
        do_action('trashed_comment', $comment->comment_ID);
        return true;
    }
    return false;
}

WordPress Version: 4.1

/**
 * Moves a comment to the Trash
 *
 * If trash is disabled, comment is permanently deleted.
 *
 * @since 2.9.0
 *
 * @param int $comment_id Comment ID.
 * @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);
    }
    if (!$comment = get_comment($comment_id)) {
        return false;
    }
    /**
     * Fires immediately before a comment is sent to the Trash.
     *
     * @since 2.9.0
     *
     * @param int $comment_id The comment ID.
     */
    do_action('trash_comment', $comment_id);
    if (wp_set_comment_status($comment_id, 'trash')) {
        add_comment_meta($comment_id, '_wp_trash_meta_status', $comment->comment_approved);
        add_comment_meta($comment_id, '_wp_trash_meta_time', time());
        /**
         * Fires immediately after a comment is sent to Trash.
         *
         * @since 2.9.0
         *
         * @param int $comment_id The comment ID.
         */
        do_action('trashed_comment', $comment_id);
        return true;
    }
    return false;
}

WordPress Version: 3.9

/**
 * Moves a comment to the Trash
 *
 * If trash is disabled, comment is permanently deleted.
 *
 * @since 2.9.0
 *
 * @uses wp_delete_comment() if trash is disabled
 *
 * @param int $comment_id Comment ID.
 * @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);
    }
    if (!$comment = get_comment($comment_id)) {
        return false;
    }
    /**
     * Fires immediately before a comment is sent to the Trash.
     *
     * @since 2.9.0
     *
     * @param int $comment_id The comment ID.
     */
    do_action('trash_comment', $comment_id);
    if (wp_set_comment_status($comment_id, 'trash')) {
        add_comment_meta($comment_id, '_wp_trash_meta_status', $comment->comment_approved);
        add_comment_meta($comment_id, '_wp_trash_meta_time', time());
        /**
         * Fires immediately after a comment is sent to Trash.
         *
         * @since 2.9.0
         *
         * @param int $comment_id The comment ID.
         */
        do_action('trashed_comment', $comment_id);
        return true;
    }
    return false;
}

WordPress Version: 3.8

/**
 * Moves a comment to the Trash
 *
 * If trash is disabled, comment is permanently deleted.
 *
 * @since 2.9.0
 * @uses do_action() on 'trash_comment' before trashing
 * @uses do_action() on 'trashed_comment' after trashing
 * @uses wp_delete_comment() if trash is disabled
 *
 * @param int $comment_id Comment ID.
 * @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);
    }
    if (!$comment = get_comment($comment_id)) {
        return false;
    }
    /**
     * Fires immediately before a comment is sent to the Trash.
     *
     * @since 2.9.0
     *
     * @param int $comment_id The comment ID.
     */
    do_action('trash_comment', $comment_id);
    if (wp_set_comment_status($comment_id, 'trash')) {
        add_comment_meta($comment_id, '_wp_trash_meta_status', $comment->comment_approved);
        add_comment_meta($comment_id, '_wp_trash_meta_time', time());
        /**
         * Fires immediately after a comment is sent to Trash.
         *
         * @since 2.9.0
         *
         * @param int $comment_id The comment ID.
         */
        do_action('trashed_comment', $comment_id);
        return true;
    }
    return false;
}

WordPress Version: 3.7

/**
 * Moves a comment to the Trash
 *
 * If trash is disabled, comment is permanently deleted.
 *
 * @since 2.9.0
 * @uses do_action() on 'trash_comment' before trashing
 * @uses do_action() on 'trashed_comment' after trashing
 * @uses wp_delete_comment() if trash is disabled
 *
 * @param int $comment_id Comment ID.
 * @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);
    }
    if (!$comment = get_comment($comment_id)) {
        return false;
    }
    do_action('trash_comment', $comment_id);
    if (wp_set_comment_status($comment_id, 'trash')) {
        add_comment_meta($comment_id, '_wp_trash_meta_status', $comment->comment_approved);
        add_comment_meta($comment_id, '_wp_trash_meta_time', time());
        do_action('trashed_comment', $comment_id);
        return true;
    }
    return false;
}