wpseek.com
A WordPress-centric search engine for devs and theme authors
wp_untrash_comment › WordPress Function
Since2.9.0
Deprecatedn/a
› wp_untrash_comment ( $comment_id )
| Parameters: |
|
| Returns: |
|
| Defined at: |
|
| Codex: | |
| Change Log: |
|
Removes a comment from the Trash
Related Functions: wp_trash_comment, wp_untrash_post_comments, wp_count_comments, wp_trash_post_comments, wp_unspam_comment
Source
function wp_untrash_comment( $comment_id ) {
$comment = get_comment( $comment_id );
if ( ! $comment ) {
return false;
}
/**
* Fires immediately before a comment is restored from 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 untrashed.
*/
do_action( 'untrash_comment', $comment->comment_ID, $comment );
$status = (string) get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true );
if ( empty( $status ) ) {
$status = '0';
}
if ( wp_set_comment_status( $comment, $status ) ) {
delete_comment_meta( $comment->comment_ID, '_wp_trash_meta_time' );
delete_comment_meta( $comment->comment_ID, '_wp_trash_meta_status' );
/**
* Fires immediately after a comment is restored from 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 untrashed comment.
*/
do_action( 'untrashed_comment', $comment->comment_ID, $comment );
// For top level 'note' type comments, also restore the children trashed along with it.
if ( 'note' === $comment->comment_type && 0 === (int) $comment->comment_parent ) {
$children = get_comment_meta( $comment->comment_ID, '_wp_trash_meta_children', true );
delete_comment_meta( $comment->comment_ID, '_wp_trash_meta_children' );
if ( ! is_array( $children ) ) {
return true;
}
$success = true;
foreach ( $children as $child_id ) {
$child = get_comment( (int) $child_id );
// Skip children that have been deleted, moved, or restored in the meantime.
if (
! $child ||
'note' !== $child->comment_type ||
(int) $child->comment_parent !== (int) $comment->comment_ID ||
'trash' !== wp_get_comment_status( $child )
) {
continue;
}
if ( ! wp_untrash_comment( $child ) ) {
$success = false;
}
}
return $success;
}
return true;
}
return false;
}